Requête sur les fichiers dump Data Pump externes

Vous pouvez également demander les fichiers dump Oracle Data Pump dans le cloud en créant une table externe à l'aide de DBMS_CLOUD.CREATE_EXTERNAL_TABLE.

Les fichiers source permettant de créer ce type de table externe doivent être exportés à partir du système source à l'aide du pilote d'accès ORACLE_DATAPUMP dans les tables externes. Reportez-vous à Déchargement et chargement de données avec le pilote d'accès ORACLE_DATAPUMP pour plus de détails sur l'export à l'aide du pilote d'accès ORACLE_DATAPUMP.

Pour créer une table externe, déplacez d'abord les fichiers dump Oracle Data Pump exportés à l'aide du pilote d'accès ORACLE_DATAPUMP vers la banque d'objets, puis utilisez DBMS_CLOUD.CREATE_EXTERNAL_TABLE pour créer la table externe.

Les fichiers source de cet exemple sont les fichiers dump Oracle Data Pump exp01.dmp et exp02.dmp.

  1. Stockez vos informations d'identification de banque d'objets à l'aide de la procédure DBMS_CLOUD.CREATE_CREDENTIAL.

    Exemple :

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

    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 la création de tables externes.

    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.

  2. Créez une table externe sur vos fichiers source à l'aide de la procédure DBMS_CLOUD.CREATE_EXTERNAL_TABLE.

    Exemple :

    BEGIN
       DBMS_CLOUD.CREATE_EXTERNAL_TABLE(
        table_name =>'CHANNELS_EXT',
        credential_name =>'DEF_CRED_NAME',
        file_uri_list =>'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/exp01.dmp,
                         https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/exp02.dmp'
        format => json_object('type' value 'datapump', 'rejectlimit' value '1'),
        column_list => 'CHANNEL_ID NUMBER, CHANNEL_DESC VARCHAR2(20), CHANNEL_CLASS VARCHAR2(20)' );
    END;
    /
    

    Les paramètres sont les suivants :

    • table_name : nom de la table externe.

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

    • file_uri_list : liste des fichiers dump Data Pump à interroger séparés par une virgule.

    • format : définit les options que vous pouvez indiquer pour décrire le format du fichier source. Lorsque vous définissez le type sur 'datapump', le seul autre paramètre de format valide est 'rejectlimit'.

    • column_list : liste des définitions de colonne dans les fichiers source, séparées par une virgule.

    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.

    Vous pouvez maintenant exécuter des requêtes sur la table externe que vous avez créée à l'étape précédente. Exemple :

    SELECT count(*) FROM channels_ext;

    Par défaut, la base de données s'attend à ce que toutes les lignes du fichier de données externe soient valides, et à ce qu'elles correspondent à la fois aux définitions de type de données cible et à la définition de format des fichiers. Dans le cadre de la validation, DBMS_CLOUD s'assure que toutes les parties nécessaires du fichier dump sont présentes et vérifie également que les fichiers dump sont valides et non endommagés (par exemple, exp01.dmp, exp02.dmp, etc.). Vous pouvez utiliser l'option de format de DBMS_CLOUD rejectlimit pour supprimer ces erreurs. Vous pouvez également valider la table externe que vous avez créée pour afficher les messages d'erreur et les lignes rejetées. Pour plus d'informations, reportez-vous à Validation des données externes.

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

    Pour plus d'informations sur les services de stockage d'objet cloud pris en charge, reportez-vous à Formats d'URI DBMS_CLOUD.