Importer des données de collection SODA à l'aide d'Oracle Data Pump version 19.6 ou ultérieure

Affiche les étapes d'importation des collections SODA dans une base de données d'intelligence artificielle autonome à l'aide d'Oracle Data Pump.

Vous pouvez exporter et importer des collections SODA à l'aide des utilitaires Oracle Data Pump à partir de la version 19.6. Oracle recommande d'utiliser la dernière version d'Oracle Data Pump pour importer des données à partir de fichiers Data Pump dans votre base de données.

Téléchargez la dernière version d'Oracle Instant Client, 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.

Dans Oracle Data Pump, si vos fichiers sources résident sur Oracle Cloud Infrastructure Object Storage, vous pouvez utiliser les URI natifs d'Oracle Cloud Infrastructure, les URI Swift ou les URI préauthentifiés. Voir Formats d'URI de fichier d'ensemble DBMS_CLOUD pour plus de détails sur ces formats d'URI de fichier.

Si vous utilisez un URI préauthentifié pour Oracle Cloud Infrastructure, vous devez quand même fournir un paramètre credential. Toutefois, les données d'identification d'une URL préauthentifiée sont ignorées (et les données d'identification fournies n'ont pas besoin d'être valides). Voir Formats d'URI de fichier d'ensemble DBMS_CLOUD pour plus d'informations sur les URI préauthentifiés d'Oracle Cloud Infrastructure.

Cet exemple montre comment créer les métadonnées de la collection SODA et importer une collection SODA avec Data Pump.

  1. Dans la base de données source, exportez la collection SODA à l'aide de la commande expdp d'Oracle Data Pump.
  2. Chargez le jeu de fichiers de vidage de l'étape 1 vers le stockage d'objets en nuage.
  3. Créez une collection SODA avec les métadonnées de collection SODA requises sur votre base de données d'IA autonome.

    Par exemple, si vous exportez une collection nommée MyCollectionName à partir de la base de données source avec les métadonnées suivantes :

    • La colonne de contenu est de type BLOB.

    • La colonne de version utilise la méthode SHA256.

    Ensuite, dans la base de données d'intelligence artificielle autonome où vous importez la collection, créez une nouvelle collection :

    • Par défaut, dans la base de données d'intelligence artificielle autonome pour une nouvelle collection, la colonne de contenu est réglée à BLOB avec jsonFormat spécifié comme OSON.

    • Par défaut, dans la base de données d'intelligence artificielle autonome pour une nouvelle collection, versionColumn.method est réglé à UUID.

    Voir Métadonnées de collecte par défaut SODA sur la base de données d'IA autonome pour plus de détails.

    Exemple :

    
    DECLARE
       collection_create SODA_COLLECTION_T;
    BEGIN
       collection_create := DBMS_SODA.CREATE_COLLECTION('MyCollectionName');
    END;
    /
    COMMIT;

    Vous pouvez utiliser la fonction PL/SQL DBMS_SODA.LIST_COLLECTION_NAMES pour détecter les collections existantes. Pour plus d'informations, voir Fonction LIST_COLLECTION_NAMES.

    Vous pouvez voir les métadonnées des collections SODA en interrogeant la vue USER_SODA_COLLECTIONS. Pour plus d'informations, voir USER_SODA_COLLECTIONS.

  4. Stockez vos données d'identification du service de stockage d'objets en nuage à l'aide de DBMS_CLOUD.CREATE_CREDENTIAL.

    Par exemple, pour créer des données d'identification de jeton d'authentification pour Oracle Cloud Infrastructure :

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

    Pour plus d'informations sur l'authentification par jeton d'authentification pour Oracle Cloud Infrastructure, voir Procédure CREATE_CREDENTIAL.

    Par exemple, pour créer des données d'identification basées sur la clé de signature Oracle Cloud Infrastructure :

    BEGIN
       DBMS_CLOUD.CREATE_CREDENTIAL (
           credential_name => 'DEF_CRED_NAME',
           user_ocid       => ‘ocid1.user.oc1..aaaaaaaauq54mi7zdyfhw33ozkwuontjceel7fok5nq3bf2vwetkpqsoa’,
           tenancy_ocid    => ‘ocid1.tenancy.oc1..aabbbbbbaafcue47pqmrf4vigneebgbcmmoy5r7xvoypicjqqge32ewnrcyx2a’,
           private_key     => ‘MIIEogIBAAKCAQEAtUnxbmrekwgVac6FdWeRzoXvIpA9+0r1.....wtnNpESQQQ0QLGPD8NM//JEBg=’,
           fingerprint     => ‘f2:db:f9:18:a4:aa:fc:94:f4:f6:6c:39:96:16:aa:27’);
    END;
    /

    Pour plus d'informations sur les données d'identification basées sur la clé de signature Oracle Cloud Infrastructure, voir Procédure CREATE_CREDENTIAL.

    Types de données d'identification pris en charge :

    • L'importation Data Pump prend en charge les données d'identification basées sur un jeton d'authentification pour Oracle Cloud Infrastructure et les données d'identification basées sur une clé de signature pour Oracle Cloud Infrastructure.

      Pour plus d'informations sur les données d'identification basées sur la clé de signature Oracle Cloud Infrastructure, voir Procédure CREATE_CREDENTIAL.

    • Data Pump prend en charge l'utilisation d'une URL préauthentifiée d'Oracle Cloud Infrastructure Object Storage pour le paramètre dumpfile. Lorsque vous utilisez une URL préauthentifiée, vous devez fournir le paramètre credential et la valeur credential peut être NULL. Pour plus d'informations, voir Utilisation des demandes préauthentifiées.
  5. Exécutez Data Pump Import avec le paramètre dumpfile réglé à la liste des URL de fichier dans votre stockage d'objets en nuage et le paramètre credential réglé au nom des données d'identification que vous avez créées à l'étape précédente.
    Note

    Importez les données de collecte à l'aide de l'option CONTENT=DATA_ONLY.

    Spécifiez la collection à importer à l'aide du paramètre INCLUDE. Cela est utile si un jeu de fichiers de données contient l'ensemble du schéma et que la collection SODA à importer est incluse dans le jeu de fichiers dump.

    Utilisez REMAP_DATA pour modifier l'une des colonnes lors de l'importation. Cet exemple montre comment utiliser REMAP_DATA pour modifier la méthode de la colonne de version de SHA256 à UUID.

    impdp admin/password@db2022adb_high \       
         directory=data_pump_dir \       
         credential=def_cred_name \      
         dumpfile= https://namespace-string.objectstorage.us-ashburn-1.oci.customer-oci.com/n/namespace-string/b/bucketname/o/export%l.dmp \
         
         encryption_pwd_prompt=yes \
         SCHEMA=my_schema \
         INCLUDE=TABLE:\"= \'MyCollectionName\'\"  \
         CONTENT=DATA_ONLY \
         REMAP_DATA=my_schema.'\"MyCollectionName\"'.VERSION:SYS.DBMS_SODA.TO_UUID 
          
    

    Notes relatives aux paramètres Data Pump :

    • Si, lors de l'exportation avec expdp, vous avez utilisé le paramètre encryption_pwd_prompt=yes, utilisez encryption_pwd_prompt=yes et entrez le même mot de passe à l'invite impdp que vous avez spécifiée lors de l'exportation.

    • 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 AI 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.

      Utilisez le caractère générique %U ou %u existant pour les exportations à partir d'Oracle Database avant la version 12.2. Si vous utilisez cette option et que plus de 99 fichiers de vidage sont nécessaires, vous devez spécifier plusieurs noms de fichier de vidage, chacun avec le paramètre %U ou %u.

    Pour dumpfile, cet exemple utilise le format d'URI recommandé à l'aide des points d'extrémité dédiés OCI pour le domaine commercial (OC1). namespace-string est l'espace de noms du stockage d'objets pour Oracle Cloud Infrastructure et bucketname est le nom du seau. Pour plus d'informations, voir Points d'extrémité dédiés du stockage d'objets, Régions et domaines de disponibilité et Présentation des espaces de noms du stockage d'objets.

    Dans Oracle Data Pump versions 19.6 et ultérieures, l'argument credential (Données d'identification) authentifie Oracle Data Pump dans le service de stockage d'objets en nuage que vous utilisez pour vos fichiers sources. Le paramètre credential ne peut pas être un principal de service Azure, un nom de ressource Amazon (ARN) ou un compte de service Google. Voir Accès aux ressources en nuage en configurant des politiques et des rôles pour plus d'informations sur l'authentification basée sur le principal de ressource.

    L'argument dumpfile est une liste d'URL délimitées par des virgules pour vos fichiers d'extraction de données.

    Pour une meilleure performance d'importation, utilisez le service de base de données HIGH pour votre connexion d'importation et réglez le paramètre parallel à un quart du nombre d'ECPU (.25 x nombre d'ECPU). Si vous utilisez un modèle de calcul d'OCPU, réglez le paramètre parallèle au 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'importation de l'extraction de données, voir Gérer les accès simultanés et les priorités pour la base de données d'intelligence artificielle autonome.

    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 de fichier d'ensemble DBMS_CLOUD.

    Note

    Pour effectuer une importation complète ou pour importer des objets appartenant à d'autres utilisateurs, vous devez disposer du rôle DATAPUMP_CLOUD_IMP.

    Pour plus d'informations sur les objets non autorisés dans la base de données du service d'intelligence artificielle autonome, voir Commandes SQL.

    Dans cet exemple d'importation, la spécification du paramètre REMAP_DATA utilise la fonction DBMS_SODA.TO_UUID pour générer des valeurs d'UUID. Par défaut, pour les bases de données sur place, la colonne de version d'une collection SODA est calculée à l'aide du code de hachage SHA-256 du contenu du document. Dans Autonomous AI Database, la colonne de version utilise des valeurs générées par l'UUID, qui sont indépendantes du contenu du document.

    Dans cet exemple, le paramètre REMAP_DATA utilise la fonction DBMS_SODA.TO_UUID pour remplacer le type de version de la collection source par le contrôle des versions UUID. Si dans le jeu de fichiers de vidage d'exportation que vous importez versionColumn.method est déjà réglé à UUID, REMAP_DATA pour ce champ n'est pas requis.

    Pour plus d'informations sur les paramètres de la fonction d'importation d'Oracle Data Pump, voir Utilitaires d'Oracle Database.

Les fichiers journaux des opérations d'importation Data Pump sont stockés dans le répertoire que vous spécifiez avec le paramètre Data Pump Import DIRECTORY. Pour plus d'informations, voir Accès au fichier journal pour l'importation de l'extraction de données.