Utiliser des liens en nuage pour l'accès aux données en lecture seule dans une base de données d'IA autonome

Les liens vers le nuage fournissent une méthode en nuage permettant d'accéder à distance en lecture seule aux données d'une instance de base de données d'IA autonome.

À propos des liens vers le nuage dans Autonomous AI Database

Avec Cloud Links, un propriétaire de données enregistre une table ou une vue pour un accès distant pour une audience sélectionnée telle que définie par le propriétaire de données, et les données sont ensuite accessibles aux personnes ayant un accès accordé lors de l'inscription. Aucune autre action n'est nécessaire pour configurer des liens Cloud et quiconque est censé voir et accéder à vos données est en mesure de découvrir et de travailler avec les données.

La mise en oeuvre des liens en nuage s'appuie sur les mécanismes d'accès d'Oracle Cloud Infrastructure pour rendre les données accessibles dans une portée spécifique. L'étendue indique qui peut accéder à distance aux données. La portée peut être réglée à différents niveaux, notamment à la région où réside la base de données, à des locations individuelles ou à des compartiments. En outre, vous pouvez spécifier que l'autorisation d'accéder à un jeu de données est limitée à une ou plusieurs instances de base de données d'IA autonome.

En créant un ou plusieurs clones actualisables inter-régions à partir de l'instance de base de données autonome d'IA source (responsable du jeu de données), vous pouvez utiliser les liens vers le nuage pour partager des données entre plusieurs régions.

Les liens vers le nuage simplifient grandement le partage des tables ou des vues entre les instances de base de données autonome avec l'IA, par rapport aux mécanismes de liaison de base de données traditionnels. Avec Cloud Links, vous pouvez détecter des données sans avoir à configurer un lien de base de données complexe. Autonomous AI Database fournit un accès transparent à l'aide de SQL et met en oeuvre l'application des privilèges avec la portée Cloud Links et en accordant une autorisation à des instances individuelles de base de données Autonomous AI Database.

Cloud Links présente les concepts d'espaces de noms régionaux et de noms pour les données qui sont accessibles à distance. Cela est similaire aux tables Oracle existantes où il existe une table, par exemple "EMP" qui réside dans un espace de noms (schéma), par exemple "LWARD". Il ne peut y avoir qu'un seul LWARD.EMP dans votre base de données. Les liens vers le nuage fournissent un espace de noms et un nom similaires au niveau régional, qui ne sont pas liés à une base de données unique, mais s'appliquent à de nombreuses instances de base de données autonome avec l'étendue et, facultativement, avec l'autorisation de la base de données.

Par exemple, vous pouvez enregistrer un jeu de données sous l'espace de noms FOREST et, à des fins de sécurité ou pour des raisons d'appellation, vous pouvez fournir un espace de noms et un nom autres que le schéma et les noms d'objet d'origine. Dans cet exemple, TREE_DATA est le nom visible du jeu de données enregistré et ce nom n'est pas obligatoire pour être le nom de la table source. En plus de l'espace de noms et du nom, le mot clé cloud$link indique à la base de données qu'elle doit résoudre la source en tant que lien vers le nuage.

Pour accéder à un jeu de données enregistré, incluez l'espace de noms, le nom et le mot clé cloud$link dans la clause FROM d'un énoncé SELECT :

SELECT county, species, height FROM FOREST.TREE_DATA@cloud$link;

Facultativement, vous pouvez spécifier que l'accès à un jeu de données à partir d'une ou de plusieurs bases de données est déchargé vers un clone actualisable. Lorsqu'une base de données d'IA autonome grand public est répertoriée dans la liste de déchargement d'un jeu de données, l'accès au jeu de données est dirigé vers le clone actualisable. En outre, vous pouvez utiliser la fonction de déchargement d'interrogation unifiée, dans laquelle vous configurez un chef de groupe élastique ou un membre en tant que fournisseur de liens en nuage et vous activez le déchargement d'interrogation ProxySQL pour décharger des interrogations (lectures) sur un nombre illimité de clones actualisables.

Note

Les liens vers le nuage fournissent un accès en lecture seule aux objets distants d'une instance de base de données du service d'intelligence artificielle autonome. Si vous souhaitez utiliser des liens de base de données avec d'autres bases Oracle ou avec des bases non Oracle, ou si vous souhaitez utiliser vos données distantes avec des opérations LMD, vous devez utiliser des liens de base de données. Pour plus d'informations, voir Utiliser des liens de base de données avec une base de données d'intelligence artificielle autonome.
Cloud Links prend en charge les synonymes privés et publics. Par exemple, vous pouvez définir et utiliser un synonyme pour FOREST.TREE_DATA@cloud$link :
CREATE SYNONYM S1 for FOREST.TREE_DATA@cloud$link;
SELECT county, species, height FROM S1;

CREATE PUBLIC SYNONYM S2 for FOREST.TREE_DATA@cloud$link;
SELECT * FROM S2;

Voir Aperçu des synonymes pour plus d'informations sur les synonymes.

Conditions des liens infonuagiques

Il existe plusieurs concepts et termes à utiliser lorsque vous utilisez Cloud Links :

  • Jeu de données enregistré (jeu de données) : Identifie une table ou une vue qui a été activée pour l'accès distant dans une base de données IA autonome. Un jeu de données enregistré indique également qui est autorisé à accéder au jeu de données (sa portée). L'enregistrement d'un jeu de données définit un espace de noms et un nom à utiliser avec Cloud Links. Après l'enregistrement du jeu de données, ces valeurs définissent ensemble le nom complet (FQN) pour l'accès distant et permettent à Cloud Links de gérer l'accessibilité du jeu de données.

  • Responsable du jeu de données : Spécifiez un responsable de jeu de données pour fournir un point de contact pour les questions concernant un jeu de données.

  • Portée : Spécifie qui et d'où un utilisateur est autorisé à accéder à un jeu de données enregistré. Voir Portée du jeu de données, contrôle d'accès et autorisation pour plus de détails sur la portée.

  • OCID (identificateur Oracle Cloud) : Identifie un emplacement, un compartiment ou une base de données spécifique. La portée d'un jeu de données enregistré peut être exprimée en termes d'OCID. Pour plus d'informations, voir Identificateurs de ressource.

  • Enregistrement de données : Lors de l'enregistrement de données, un utilisateur rend une table ou une vue disponible pour l'accès distant, soumise aux restrictions d'accès imposées par la portée et éventuellement soumise à une étape d'autorisation supplémentaire. Vous pouvez autoriser l'accès distant avec des liens en nuage sur une table ou une vue stockée dans la base de données ou sur des données stockées dans le magasin d'objets.

  • Détection de données : Un jeu de données enregistré peut être détecté à l'aide d'interrogations textuelles provenant de la base de données. La détection n'affiche un jeu de données que s'il existe un privilège d'accès au jeu de données. Vous pouvez effectuer une recherche pour trouver un jeu de données enregistré par nom ou par description.

  • Description des données : Permet à un utilisateur d'extraire une description ou des métadonnées pour une table ou une vue mise à disposition en tant que jeu de données enregistré.

  • Cibles de déchargement : Facultativement, vous pouvez spécifier une ou plusieurs cibles de déchargement. Les cibles de déchargement sont des clones actualisables qui fournissent des jeux de données de liens vers le nuage pour des instances de base de données d'IA autonome spécifiées. En spécifiant une cible de déchargement, vous pouvez dédier une instance de base de données Autonomous AI Database pour fournir des jeux de données afin de séparer la production du développement, pour des raisons de performance, de sécurité ou pour d'autres raisons. Pour plus d'informations, voir Utiliser des clones actualisables avec une base de données d'IA autonome.

Vérification des liens vers le nuage

Tout accès à un jeu de données enregistré à l'aide de Cloud Links est consigné à des fins de vérification. Le journal inclut la location, le compartiment ou la base de données qui a accédé au jeu de données, la quantité de données consultées et des informations supplémentaires. Les vues V$CLOUD_LINK_ACCESS_STATS et GV$CLOUD_LINK_ACCESS_STATS affichent les informations de vérification.

Métadonnées de jeu de données et vues de vérification

Chaque instance de base de données d'IA autonome fournit des vues qui exposent les métadonnées du jeu de données et qui vous permettent de surveiller et de vérifier l'utilisation des données. Pour plus d'informations, voir Surveiller et voir les informations sur les liens vers le nuage.

Portée du jeu de données, contrôle d'accès et autorisation

Les liens vers le nuage exploitent les mécanismes d'accès d'Oracle Cloud Infrastructure pour rendre les jeux de données enregistrés accessibles et pour protéger vos données avec des restrictions d'accès.

La base de données autonome d'IA détermine l'accessibilité des jeux de données enregistrés comme suit :

  • L'utilisateur ADMIN spécifie une étendue pour un utilisateur qui lui permet d'enregistrer des jeux de données en fonction de la portée fournie.

  • Un utilisateur disposant des privilèges d'enregistrement des jeux de données définit une portée lors de l'enregistrement d'un jeu de données.

  • Facultativement, lorsque vous enregistrez un jeu de données, un utilisateur disposant de privilèges d'autorisation peut spécifier une étape d'autorisation requise pour accéder à un jeu de données. Cette étape d'autorisation s'ajoute à l'autorisation d'accès au niveau de la portée.

Portée du jeu de données

L'administrateur définit l'étendue d'un utilisateur avec DBMS_CLOUD_LINK_ADMIN.GRANT_REGISTER comme étant l'une des suivantes :

  • 'MY$REGION'
  • 'MY$TENANCY'
  • 'MY$COMPARTMENT'

L'étendue d'un utilisateur est hiérarchique, ce qui signifie qu'un utilisateur doté d'une de ces étendues peut autoriser l'accès comme suit :

  • MY$REGION : Un utilisateur peut accorder l'accès aux données distantes à d'autres locations de la région de l'instance de base de données du service d'intelligence artificielle autonome qui enregistre le jeu de données. C'est la portée la moins restrictive.

  • MY$TENANCY : Un utilisateur peut accorder l'accès aux données distantes à n'importe quelle ressource, location, compartiment ou base de données dans la location de l'instance de base de données de l'IA autonome qui enregistre le jeu de données. Cette portée est plus restrictive que la portée MY$REGION.

  • MY$COMPARTMENT : Un utilisateur peut accorder l'accès aux données distantes à toute ressource, compartiment ou base de données du compartiment de l'instance de base de données du service d'intelligence artificielle autonome qui enregistre le jeu de données. Il s'agit de la portée la plus restrictive que vous pouvez définir pour un utilisateur avec GRANT_REGISTER.

Ensuite, l'étendue que vous définissez lors de l'enregistrement d'un jeu de données détermine à partir de quel endroit les utilisateurs sont autorisés à accéder au jeu de données. DBMS_CLOUD_LINK.REGISTER scope est une liste séparée par des virgules et composée d'un ou de plusieurs des éléments suivants :

  • OCID de la base de données : L'accès au jeu de données est autorisé pour les instances de base de données IA autonome spécifiques identifiées par l'OCID.

  • OCID du compartiment : L'accès au jeu de données est autorisé pour les bases de données des compartiments identifiés par l'OCID du compartiment.

  • OCID de la location : L'accès au jeu de données est autorisé pour les bases de données des locations identifiées par l'OCID de la location.

  • Nom de la région : L'accès au jeu de données est autorisé pour les bases de données de la région identifiée par la région nommée. Dans tous les cas, l'accès aux liens vers le nuage est limité à une seule région et n'est pas inter-région.

  • MY$COMPARTMENT : L'accès au jeu de données est autorisé pour les bases de données du même compartiment que le responsable du jeu de données.

  • MY$TENANCY : L'accès au jeu de données est autorisé pour les bases de données de la même location que le responsable du jeu de données.

  • MY$REGION : L'accès au jeu de données est autorisé pour les bases de données de la même région que le responsable du jeu de données.

Les valeurs de portée, MY$REGION, MY$TENANCY et MY$COMPARTMENT sont des variables qui agissent comme macros pratiques et se résolvent en OCID.

Note

L'étendue que vous définissez lors de l'enregistrement d'un jeu de données n'est respectée que lorsqu'elle correspond ou est plus restrictive que la valeur définie avec DBMS_CLOUD_LINK_ADMIN.GRANT_REGISTER. Par exemple, supposons que l'administrateur a accordé l'étendue 'MY$TENANCY' avec GRANT_REGISTER et que l'utilisateur spécifie 'MY$REGION' lorsqu'il enregistre un jeu de données avec DBMS_CLOUD_LINK.REGISTER. Dans ce cas, ils verraient une erreur telle que :
ORA-20001: Share privileges are not enabled for current user or it is enabled but not for scope MY$REGION

Vous pouvez également utiliser un mécanisme de contrôle d'accès supplémentaire basé sur une valeur SYS_CONTEXT. Ce mécanisme utilise la fonction DBMS_CLOUD_LINK.GET_DATABASE_ID qui retourne un identificateur disponible en tant que valeur SYS_CONTEXT.

Lorsque vous enregistrez un jeu de données avec DBMS_CLOUD_LINK.REGISTER, vous pouvez utiliser la valeur SYS_CONTEXT dans les politiques de sécurité Oracle Virtual Private Database (VPD) pour contrôler l'accès à la base de données afin de restreindre et de contrôler davantage les données spécifiques accessibles par les instances individuelles de base de données Autonomous AI.

Voir Définir une politique de base de données privée virtuelle pour sécuriser un jeu de données enregistré pour plus d'informations sur l'utilisation des politiques de BDVP.

La valeur de l'ID base de données est également disponible dans les vues V$CLOUD_LINK_ACCESS_STATS et GV$CLOUD_LINK_ACCESS_STATS qui assurent le suivi des statistiques d'accès et des informations de vérification.

Pour plus d'informations, voir Utilisation d'Oracle Virtual Private Database pour contrôler l'accès aux données.

Autorisation de jeu de données

Lorsque vous enregistrez un jeu de données, si des privilèges d'autorisation vous ont été accordés, vous pouvez spécifier que l'autorisation OCID de la base de données est requise pour accéder à un jeu de données. Pour fournir une autorisation d'OCID de base de données pour un jeu de données, utilisez la procédure DBMS_CLOUD_LINK.GRANT_AUTHORIZATION pour spécifier les instances de base de données d'intelligence artificielle autonome autorisées à accéder au jeu de données. Avant d'exécuter DBMS_CLOUD_LINK.GRANT_AUTHORIZATION, l'administrateur doit vous autoriser à exécuter cette procédure avec DBMS_CLOUD_LINK_ADMIN.GRANT_AUTHORIZE.

L'enregistrement du jeu de données avec autorisation requise spécifie l'accès au niveau de la base de données pour un jeu de données, en plus du contrôle d'accès de portée spécifié pour le jeu de données, comme suit :

  • Les bases de données qui se trouvent dans le SCOPE spécifié et qui ont été autorisées avec DBMS_CLOUD_LINK.GRANT_AUTHORIZATION peuvent voir les rangées du jeu de données.

  • Les bases de données qui se trouvent dans SCOPE spécifié mais qui n'ont pas été autorisées avec DBMS_CLOUD_LINK.GRANT_AUTHORIZATION ne peuvent pas voir les rangées du jeu de données. Dans ce cas, les consommateurs sans autorisation voient le jeu de données vide.

  • Les bases de données qui ne se trouvent pas dans SCOPE spécifiées voient une erreur lors de la tentative d'accès au jeu de données.

Accorder l'accès aux liens en nuage aux utilisateurs de base de données

L'utilisateur ADMIN accorde des privilèges aux utilisateurs de base de données pour l'enregistrement des jeux de données. L'utilisateur ADMIN accorde également des privilèges aux utilisateurs de base de données pour accéder aux jeux de données enregistrés.

Lorsque l'utilisateur ADMIN accorde des privilèges d'enregistrement, il fournit une étendue qui spécifie la portée maximale qu'un utilisateur peut fournir lors de l'enregistrement d'un jeu de données (dans la hiérarchie de portée). Les valeurs scope valides à utiliser avec DBMS_CLOUD_LINK_ADMIN.GRANT_REGISTER sont les suivantes :

  • 'MY$REGION'
  • 'MY$TENANCY'
  • 'MY$COMPARTMENT'

Pour plus d'informations, voir Portée du jeu de données, contrôle d'accès et autorisation.

  1. En tant qu'utilisateur ADMIN, autorisez un utilisateur à enregistrer des jeux de données dans une portée spécifiée.
    BEGIN
    DBMS_CLOUD_LINK_ADMIN.GRANT_REGISTER(
       username => 'DB_USER1',
       scope    => 'MY$REGION');
    END;
    /

    Cela spécifie que l'utilisateur DB_USER1 dispose de privilèges pour enregistrer des jeux de données dans une portée spécifiée, 'MY$REGION'.

    Un utilisateur peut interroger SYS_CONTEXT('USERENV', 'CLOUD_LINK_REGISTER_ENABLED') pour vérifier s'il est activé pour l'enregistrement des jeux de données.

    Par exemple, l'interrogation suivante :

    SELECT SYS_CONTEXT('USERENV', 'CLOUD_LINK_REGISTER_ENABLED') FROM DUAL;

    Retourne 'YES' ou 'NO'.

    Pour plus d'informations, voir ProcédureGRANT_REGISTER.

  2. En tant qu'utilisateur ADMIN, autorisez un utilisateur à accéder aux jeux de données enregistrés.
    EXEC DBMS_CLOUD_LINK_ADMIN.GRANT_READ('LWARD');

    Cela permet à LWARD d'accéder aux jeux de données enregistrés qui sont disponibles pour l'instance de base de données du service d'intelligence artificielle autonome.

    Un utilisateur peut interroger SYS_CONTEXT('USERENV', 'CLOUD_LINK_READ_ENABLED') pour vérifier s'il est activé pour l'accès READ à un jeu de données.

    Par exemple, l'interrogation suivante :

    SELECT SYS_CONTEXT('USERENV', 'CLOUD_LINK_READ_ENABLED') FROM DUAL;

    Retourne 'YES' ou 'NO'.

    Pour plus d'informations, voir ProcédureGRANT_READ.

  3. Lors de l'enregistrement des données, vous pouvez régler le paramètre d'autorisation requis à TRUE. Lorsque l'autorisation requise est TRUE, l'utilisateur ADMIN doit exécuter DBMS_CLOUD_LINK_ADMIN.GRANT_AUTHORIZE pour fournir l'autorisation d'appeler DBMS_CLOUD_LINK.GRANT_AUTHORIZATION. Utilisez DBMS_CLOUD_LINK.GRANT_AUTHORIZATION pour spécifier les détails de l'autorisation.
  4. Lorsque Database Vault est activé pour l'instance Autonomous AI Database et que la table ou la vue à enregistrer avec Cloud Links est protégée par un domaine, le responsable de la table ou de la vue doit être autorisé à ce domaine en tant que propriétaire de domaine avant l'enregistrement.
    BEGIN
         DBMS_MACADM.ADD_AUTH_TO_REALM(
               realm_name   => 'myrealm',
               grantee      => 'object_owner',
               auth_option  => dbms_macutl.g_realm_auth_owner);
    END;
    /

    Si le domaine protégeant la table ou la vue est un domaine obligatoire, le schéma commun de la base de données d'intelligence artificielle autonome nommé C##DATA$SHARE, qui est utilisé en interne en tant que schéma de connexion, doit être autorisé au domaine en tant que participant au domaine.

    Exemple :

    BEGIN
         DBMS_MACADM.ADD_AUTH_TO_REALM(
               realm_name   => 'myrealm',
               grantee      => 'C##DATA$SHARE',
               auth_option  => dbms_macutl.g_realm_auth_participant);
    END;
    /

    Pour plus d'informations, voir Utiliser Oracle Database Vault avec Autonomous AI Database.

Notes pour accorder des privilèges aux utilisateurs de base de données pour enregistrer des jeux de données :

  • Pour enregistrer des jeux de données ou voir des jeux de données distants et y accéder, vous devez disposer du privilège approprié pour vous inscrire auprès de DBMS_CLOUD_LINK_ADMIN.GRANT_REGISTER ou pour lire des jeux de données avec DBMS_CLOUD_LINK_ADMIN.GRANT_READ.

    Cela est également vrai pour l'utilisateur ADMIN, mais l'utilisateur ADMIN peut lui accorder des privilèges.

  • Les vues DBA_CLOUD_LINK_PRIVS et USER_CLOUD_LINK_PRIVS fournissent des informations sur les privilèges d'utilisateur. Pour plus d'informations, voir Surveiller et voir les informations sur les liens vers le nuage.

  • Un utilisateur peut exécuter l'interrogation suivante pour vérifier s'il est activé pour l'authentification de jeux de données enregistrés et protégés :

    SELECT SYS_CONTEXT('USERENV', 'CLOUD_LINK_AUTH_ENABLED') FROM DUAL;

Révoquer l'accès aux liens en nuage pour les utilisateurs de base de données

L'utilisateur ADMIN peut révoquer l'enregistrement pour interdire à un utilisateur d'enregistrer des jeux de données pour un accès distant. L'utilisateur ADMIN peut également révoquer des privilèges ou des utilisateurs de base de données pour accéder aux jeux de données enregistrés.

  1. En tant qu'utilisateur ADMIN, révoquez les privilèges d'un utilisateur pour enregistrer des jeux de données.

    Exemple :

    EXEC DBMS_CLOUD_LINK_ADMIN.REVOKE_REGISTER('DB_USER1');

    Cela révoque les privilèges d'enregistrement des jeux de données pour l'utilisateur, DB_USER1.

    L'exécution de DBMS_CLOUD_LINK_ADMIN.REVOKE_REGISTER n'a aucune incidence sur les jeux de données déjà enregistrés. Utilisez DBMS_CLOUD_LINK.UNREGISTER pour supprimer l'accès à un jeu de données enregistré.

    Pour plus d'informations, voir Procédure REVOKE_REGISTER et Procédure UNREGISTER.

  2. En tant qu'utilisateur ADMIN, révoquez l'accès aux jeux de données enregistrés.

    Exemple :

    EXEC DBMS_CLOUD_LINK_ADMIN.REVOKE_READ('LWARD');

    L'accès aux jeux de données Cloud Links est révoqué pour l'utilisateur LWARD.

    Pour plus d'informations, voir ProcédureREVOKE_READ.

Enregistrer un jeu de données

Décrit les options et les étapes d'enregistrement d'une table ou d'affichage dont vous êtes responsable en tant que jeu de données enregistré à partager avec Cloud Links.

Enregistrer ou annuler l'enregistrement d'un jeu de données

Vous pouvez enregistrer une table ou afficher votre propre jeu de données enregistré. Lorsque vous voulez supprimer ou remplacer le jeu de données, vous devez annuler son enregistrement. Après avoir enregistré un jeu de données, vous pouvez modifier les valeurs des attributs d'un jeu de données.

L'enregistrement d'un jeu de données définit un espace de noms et un nom à utiliser avec Cloud Links. Après l'enregistrement du jeu de données, ces valeurs définissent ensemble le nom complet (FQN) pour l'accès distant et permettent à Cloud Links de gérer l'accessibilité du jeu de données.

Pour enregistrer un jeu de données :

  1. Obtenir les privilèges d'accès au registre de l'utilisateur ADMIN.
  2. Enregistrez un ou plusieurs jeux de données.

    Par exemple, en supposant qu'il existe un schéma CLOUDLINK sur votre instance de base de données d'intelligence artificielle autonome, vous pouvez enregistrer deux objets, SALES_VIEW_AGG et SALES_ALL, et fournir des paramètres scope différents pour déterminer comment les objets sont accessibles.

    BEGIN
       DBMS_CLOUD_LINK.REGISTER(
        schema_name    => 'CLOUDLINK',
        schema_object  => 'SALES_VIEW_AGG',
        namespace      => 'REGIONAL_SALES', 
        name           => 'SALES_AGG',
        description    => 'Aggregated regional sales information.',
        scope          => 'MY$TENANCY',
        auth_required  =>  FALSE,
        data_set_owner =>  'amit@example.com' );
    END;
    /
    BEGIN
       DBMS_CLOUD_LINK.REGISTER(
        schema_name    => 'CLOUDLINK',
        schema_object  => 'SALES_ALL',
        namespace      => 'TRUSTED_COMPARTMENT', 
        name           => 'SALES',
        description    => 'Trusted Compartment, only accessible within my compartment. Early sales data.',
        scope          => 'MY$COMPARTMENT',
        auth_required  =>  FALSE,
        data_set_owner =>  'amit@example.com' );
    END;
    /

    Les paramètres sont les suivants :

    • schema_name : Nom du schéma (responsable de l'objet).

    • schema_object : Nom de l'objet. Les objets valides sont les suivants :

      Note

      Les autres objets tels que les vues analytiques ou les synonymes ne sont pas pris en charge.
    • namespace : Espace de noms que vous fournissez en tant que nom pour l'accès aux liens en nuage (une partie du nom complet des liens en nuage).

      Une valeur NULL spécifie une valeur namespace générée par le système, unique à l'instance de base de données du service d'intelligence artificielle autonome.

    • name : Nom que vous fournissez pour l'accès aux liens en nuage (une partie du nom complet du lien en nuage).

    • description : Spécifie le texte décrivant les données.

    • scope : Spécifie la portée. Vous pouvez utiliser l'une des variables : MY$REGION, MY$TENANCY ou MY$COMPARTMENT ou spécifier un ou plusieurs OCID.

      Pour plus d'informations, voir Portée du jeu de données, contrôle d'accès et autorisation.

    • auth_required : Valeur booléenne qui spécifie si une autorisation au niveau de la base de données est requise pour le jeu de données, en plus du contrôle d'accès à la portée. Lorsque cette valeur est réglée à TRUE, le jeu de données applique une étape d'autorisation supplémentaire. Pour plus d'informations, voir Enregistrer un jeu de données avec autorisation requise.

    • data_set_owner : La valeur de texte spécifie les informations sur la personne responsable du jeu de données ou sur un contact pour les questions concernant le jeu de données. Par exemple, vous pouvez fournir une adresse de courriel au responsable du jeu de données.

    Pour plus d'informations, voir Procédure REGISTER.

    Dans cet exemple, une fois l'enregistrement terminé, la portée des deux objets enregistrés est différente, en fonction du paramètre de portée fourni avec DBMS_CLOUD_LINK.REGISTER :

    • MY$TENANCY : Spécifie la portée au niveau de la location pour REGIONAL_SALES.SALES_AGG.

    • MY$COMPARTMENT : Spécifie la portée au niveau du compartiment la plus restrictive dans la location pour TRUSTED_COMPARTMENT.SALES.

Vous pouvez mettre à jour certaines valeurs pour les attributs d'un jeu de données après avoir enregistré un jeu de données. Pour plus d'informations, voir Mettre à jour les attributs d'inscription du jeu de données.

Si vous voulez révoquer l'accès distant à un jeu de données enregistré, annulez l'enregistrement du jeu de données.

Exemple :

BEGIN
   DBMS_CLOUD_LINK.UNREGISTER(
    namespace      => 'TRUSTED_COMPARTMENT', 
    name           => 'SALES');
END;
/

Pour plus d'informations, voir Procédure UNREGISTER.

Notes pour l'enregistrement ou l'annulation de l'enregistrement d'un jeu de données

Fournit des notes pour l'enregistrement d'un jeu de données avec DBMS_CLOUD_LINK.REGISTER et l'annulation de l'enregistrement d'un jeu de données avec DBMS_CLOUD_LINK.UNREGISTER.

  • Après avoir enregistré un objet, les utilisateurs peuvent avoir besoin d'attendre jusqu'à dix (10) minutes pour accéder à l'objet avec Cloud Links.

  • Lorsque vous enregistrez un jeu de données et que vous souhaitez que les consommateurs d'une région distante accèdent au jeu de données, vous devez effectuer des étapes supplémentaires pour rendre le jeu de données disponible dans une région distante. Pour plus d'informations, voir Enregistrer ou annuler l'enregistrement d'un jeu de données dans une autre région.

  • Utilisez la procédure DBMS_CLOUD_LINK.UPDATE_REGISTRATION pour modifier les attributs d'un jeu de données existant.

    Le temps d'attente de la mise à jour peut aller jusqu'à 10 minutes pour qu'une modification d'inscription soit propagée et accessible au moyen de Cloud Links. Ce délai peut avoir une incidence sur l'exactitude des données dans les vues DBA_CLOUD_LINK_REGISTRATIONS et DBA_CLOUD_LINK_ACCESS.

  • Vous pouvez enregistrer une table ou une vue qui réside dans le schéma d'un autre utilisateur lorsque vous disposez des privilèges READ WITH GRANT OPTION pour la table ou la vue.

  • La base de données autonome d'IA n'effectue pas de vérifications de validité hiérarchiques au moment de l'inscription et les inscriptions qui sont hors de la portée ne seront jamais visibles ou accessibles.

    Prenons par exemple la séquence suivante :

    1. Un utilisateur avec l'étendue MY$COMPARTMENT enregistre un objet avec une étendue qui spécifie un OCID de base de données individuel.

    2. Lorsqu'un utilisateur demande l'accès au jeu de données enregistré, la base de données autonome d'IA effectue la vérification pour voir que l'OCID de la base de données à l'origine de la demande se trouve dans la liste OCID spécifiée avec scope lors de l'enregistrement du jeu de données.

    3. Après cela, l'objet namespace.name sera détectable, visible et utilisable dans la base de données à l'origine de la demande.

  • DBMS_CLOUD_LINK.UNREGISTER peut prendre jusqu'à dix (10) minutes pour se propager complètement, après quoi les données sont plus accessibles à distance.

Enregistrer ou annuler l'enregistrement d'un jeu de données dans une autre région

Vous pouvez utiliser des liens en nuage dans plusieurs régions, où la région source contient la base de données source du jeu de données et une ou plusieurs régions distantes contiennent des clones actualisables de la base de données source.

Description de cloud-links-cross-region-refreshable-clone.png :
Description de l'illustration cloud-links-cross-region-refreshable-clone.png

Pour utiliser des liens en nuage avec un jeu de données dans une autre région :

  1. Créez un clone actualisable inter-région de la base de données source dans une région distante.

    Voir Créer un clone actualisable inter-location ou inter-région pour plus d'informations sur l'ajout d'un clone actualisable inter-région.

  2. Dans la base de données source, enregistrez le jeu de données.
  3. Actualisez le clone actualisable.
  4. Sur le clone actualisable distant, enregistrez le jeu de données à l'aide des mêmes arguments que ceux utilisés pour enregistrer le jeu de données dans la région source.

    Par exemple, en supposant qu'il existe un schéma CLOUDLINK sur votre instance de base de données d'intelligence artificielle autonome, après avoir enregistré SALES_ALL sur la base de données source, enregistrez SALES_ALL sur le clone actualisable :

    BEGIN
       DBMS_CLOUD_LINK.REGISTER(
        schema_name    => 'CLOUDLINK',
        schema_object  => 'SALES_ALL',
        namespace      => 'TRUSTED_COMPARTMENT', 
        name           => 'SALES',
        description    => 'Trusted Compartment, only accessible within my compartment. Early sales data.',
        scope          => 'MY$COMPARTMENT',
        auth_required  =>  FALSE,
        data_set_owner =>  'amit@example.com' );
    END;
    /

    Les paramètres sont les suivants :

    • schema_name : Nom du schéma (responsable de l'objet).

    • schema_object : Nom de l'objet. Les objets valides sont les suivants :

      • Tables (y compris le tas, externe ou hybride)
      • Vues
      • Vues matérialisées
      Note

      Les autres objets tels que les vues analytiques ou les synonymes ne sont pas pris en charge.
    • namespace : Espace de noms que vous fournissez en tant que nom pour l'accès aux liens en nuage (une partie du nom complet des liens en nuage).

      Une valeur NULL spécifie une valeur namespace générée par le système, unique à l'instance de base de données du service d'intelligence artificielle autonome.

    • name : Nom que vous fournissez pour l'accès aux liens en nuage (une partie du nom complet du lien en nuage).

    • description : Spécifie le texte décrivant les données.

    • scope : Spécifie la portée. Vous pouvez utiliser l'une des variables : MY$REGION, MY$TENANCY ou MY$COMPARTMENT ou spécifier un ou plusieurs OCID.

      Pour plus d'informations, voir Portée du jeu de données, contrôle d'accès et autorisation.

    • auth_required : Valeur booléenne qui spécifie si une autorisation au niveau de la base de données est requise pour le jeu de données, en plus du contrôle d'accès à la portée. Lorsque cette valeur est réglée à TRUE, le jeu de données applique une étape d'autorisation supplémentaire. Pour plus d'informations, voir Enregistrer un jeu de données avec autorisation requise.

    • data_set_owner : La valeur de texte spécifie les informations sur la personne responsable du jeu de données ou sur un contact pour les questions concernant le jeu de données. Par exemple, vous pouvez fournir une adresse de courriel au responsable du jeu de données.

    Pour plus d'informations, voir Procédure REGISTER.

    Une fois l'enregistrement terminé sur le clone actualisable, la portée de l'objet enregistré est MY$COMPARTMENT : Spécifie la portée au niveau du compartiment la plus restrictive pour mon compartiment dans ma location pour TRUSTED_COMPARTMENT.SALES.

Vous pouvez annuler l'enregistrement d'un jeu de données distant uniquement dans les régions distantes, ou à la fois dans les régions distantes et dans la région source :

Pour annuler l'enregistrement d'un jeu de données dans une région distante et désactiver l'accès distant au jeu de données :

  1. Sur le clone actualisable, annulez l'enregistrement du jeu de données.

    Exemple :

    BEGIN
       DBMS_CLOUD_LINK.UNREGISTER(
        namespace      => 'TRUSTED_COMPARTMENT', 
        name           => 'SALES');
    END;
    /
  2. Actualisez le clone actualisable.

    Pour plus d'informations, voir Actualiser un clone actualisable sur une base de données d'IA autonome.

Pour annuler l'enregistrement d'un jeu de données dans la base de données source et annuler l'enregistrement du jeu de données sur des clones actualisables de région distante :

  1. Sur le clone actualisable distant s'il n'y en a qu'un seul, ou sur plusieurs clones actualisables dans des régions distantes s'il y en a plusieurs, annulez l'enregistrement du jeu de données.

    Exemple :

    BEGIN
       DBMS_CLOUD_LINK.UNREGISTER(
        namespace      => 'TRUSTED_COMPARTMENT', 
        name           => 'SALES');
    END;
    /
  2. Dans la base de données source, annulez l'enregistrement du jeu de données.

    Pour plus d'informations, voir Enregistrer ou annuler l'enregistrement d'un jeu de données.

  3. Actualisez les clones actualisables.

    Pour plus d'informations, voir Actualiser un clone actualisable sur une base de données d'IA autonome.

Notes pour l'enregistrement ou l'annulation de l'enregistrement d'un jeu de données dans une région distante

Fournit des notes pour l'enregistrement d'un jeu de données dans une région distante.

  • Lorsque vous enregistrez un jeu de données sur un clone actualisable dans une région distante, l'appel de DBMS_CLOUD_LINK.REGISTER sur le clone de la région distante doit utiliser les mêmes paramètres avec les mêmes valeurs que sur la base de données source, à l'exception du paramètre offload_targets.

    Par exemple, lorsque vous exécutez DBMS_CLOUD_LINK.REGISTER avec la portée réglée à MY$COMPARTMENT sur l'instance de base de données autonome d'IA source, exécutez de nouveau la procédure sur le clone actualisable inter-région avec la même valeur de paramètre de portée (MY$COMPARTMENT).

  • Si vous spécifiez le paramètre offload_targets avec DBMS_CLOUD_LINK.REGISTER sur la source, vous devez omettre ce paramètre lorsque vous enregistrez le jeu de données sur le clone actualisable.

  • Après avoir enregistré un objet, les utilisateurs peuvent avoir besoin d'attendre jusqu'à dix (10) minutes pour accéder à l'objet avec Cloud Links.

  • Les actions suivantes nécessitent l'actualisation du clone actualisable :

    • Si vous ajoutez une politique de BDVP au jeu de données dans la source, vous devez actualiser le clone actualisable.

    • Si vous effectuez une autorisation ou une révocation pour le jeu de données de la base de données source, vous devez actualiser le clone actualisable.

    Pour plus d'informations, voir Actualiser un clone actualisable sur une base de données d'IA autonome.

Enregistrer un jeu de données avec autorisation requise

Facultativement, lorsque vous enregistrez un jeu de données, en plus de la portée, vous pouvez spécifier que l'autorisation au niveau de la base de données est requise pour accéder à un jeu de données.

Par rapport à l'exemple précédent où vous réglez auth_required à FALSE, dans cet exemple, vous réglez auth_required à TRUE. Lorsque auth_required a la valeur TRUE, des étapes supplémentaires sont requises pour spécifier une ou plusieurs bases de données à partir desquelles l'accès au jeu de données est autorisé.

Note

Vous ne pouvez accorder une autorisation, comme indiqué dans ces étapes, que si vous y êtes autorisé. L'administrateur accorde des privilèges d'autorisation avec DBMS_CLOUD_LINK_ADMIN.GRANT_AUTHORIZE.
  1. Utilisez DBMS_CLOUD_LINK.REGISTER pour enregistrer des données avec autorisation requise.

    En supposant qu'il existe un schéma CLOUDLINK sur votre instance de base de données d'intelligence artificielle autonome et que vous enregistrez l'objet SALES_VIEW_AGG et réglez auth_required à TRUE, en plus de définir la portée, vous devez effectuer des étapes supplémentaires pour déterminer comment accéder à l'objet.

    BEGIN
       DBMS_CLOUD_LINK.REGISTER(
        schema_name    => 'CLOUDLINK',
        schema_object  => 'SALES_VIEW_AGG',
        namespace      => 'REGIONAL_SALES', 
        name           => 'SALES_AGG',
        description    => 'Aggregated regional sales information.',
        scope          => 'MY$TENANCY',
        auth_required  =>  TRUE,
        data_set_owner =>  'amit@example.com' );
    END;
    /

    Les paramètres sont les suivants :

    • schema_name : Nom du schéma (responsable de l'objet).

    • schema_object : Nom de l'objet. Les objets valides sont les suivants :

      • Tables (y compris le tas, externe ou hybride)
      • Vues
      • Vues matérialisées
      Note

      Les autres objets tels que les vues analytiques ou les synonymes ne sont pas pris en charge.
    • namespace : Espace de noms que vous fournissez en tant que nom pour l'accès aux liens en nuage (une partie du nom complet des liens en nuage).

      Une valeur NULL spécifie une valeur namespace générée par le système, unique à l'instance de base de données du service d'intelligence artificielle autonome.

    • name : Nom que vous fournissez pour l'accès aux liens en nuage (une partie du nom complet du lien en nuage).

    • scope : Spécifie la portée. Vous pouvez utiliser l'une des variables : MY$REGION, MY$TENANCY ou MY$COMPARTMENT ou spécifier un ou plusieurs OCID.

      Pour plus d'informations, voir Portée du jeu de données, contrôle d'accès et autorisation.

    • auth_required : Valeur booléenne qui spécifie si une autorisation au niveau de la base de données est requise pour le jeu de données, en plus du contrôle d'accès à la portée. Lorsque cette valeur est réglée à TRUE, le jeu de données applique une étape d'autorisation supplémentaire.

    • data_set_owner : La valeur de texte spécifie les informations sur la personne responsable du jeu de données ou sur un contact pour les questions concernant le jeu de données. Par exemple, vous pouvez fournir une adresse de courriel au responsable du jeu de données.

  2. Obtenez l'ID base de données de la base à laquelle vous souhaitez accorder l'autorisation (pour permettre à la base de données d'accéder au jeu de données).

    Sur le système, vous voulez accorder l'accès au jeu de données :

    SELECT DBMS_CLOUD_LINK.GET_DATABASE_ID FROM DUAL:
  3. Utilisez l'ID base de données obtenu pour accorder l'autorisation à un jeu de données spécifié.

    Vous ne pouvez accorder l'autorisation et exécuter DBMS_CLOUD_LINK.GRANT_AUTHORIZATION, comme indiqué à cette étape, que si vous êtes autorisé. L'administrateur accorde l'autorisation avec DBMS_CLOUD_LINK_ADMIN.GRANT_AUTHORIZE.

    BEGIN
       DBMS_CLOUD_LINK.GRANT_AUTHORIZATION(
        database_id    => '120xxxxxxx8506029999',
        namespace      => 'TRUSTED_COMPARTMENT', 
        name           => 'SALES');
    END;
    /

    Effectuez ces étapes plusieurs fois si vous souhaitez autoriser des bases de données supplémentaires.

Vous pouvez mettre à jour la valeur du paramètre auth_required après avoir enregistré un jeu de données. Pour plus d'informations, voir Mettre à jour les attributs d'inscription du jeu de données.

Pour révoquer l'autorisation d'une base de données :

BEGIN
   DBMS_CLOUD_LINK.REVOKE_AUTHORIZATION(
    database_id    => '120xxxxxxx8506029999',
    namespace      => 'TRUSTED_COMPARTMENT', 
    name           => 'SALES');
END;
/

Pour plus d'informations, voir :

Enregistrer un jeu de données avec des cibles de déchargement pour l'accès au jeu de données

Facultativement, lorsque vous enregistrez un jeu de données, vous pouvez décharger l'accès au jeu de données sur une ou plusieurs instances de base de données d'IA autonome qui sont des clones actualisables.

Utilisez le paramètre facultatif offload_targets avec DBMS_CLOUD_LINK.REGISTER pour spécifier que l'accès est déchargé pour les clones actualisables. La base de données source pour chaque clone actualisable est l'instance de base de données de l'IA autonome où vous enregistrez le jeu de données (éditeur de données).

La valeur offload_targets est un document JSON qui définit une ou plusieurs paires de valeurs de clé CLOUD_LINK_DATABASE_ID et OFFLOAD_TARGET :

  • CLOUD_LINK_DATABASE_ID est l'un des suivants :

    • ID base de données : Indique un ID base de données pour le consommateur du jeu de données dont la demande est déchargée vers le clone actualisable correspondant spécifié avec la valeur OFFLOAD_TARGET.

      Obtenez l'ID base de données en exécutant DBMS_CLOUD_LINK.GET_DATABASE_ID. Pour plus d'informations, voir Fonction GET_DATABASE_ID.

    • ANY : Indique que toute demande de consommateur de jeu de données est déchargée vers la cible de déchargement correspondante. La demande de jeu de données d'un consommateur sera acheminée vers la cible de déchargement correspondante.

      Si vous spécifiez ANY sans spécifier d'ID base de données, toutes les demandes de jeu de données des consommateurs sont déchargées vers le clone actualisable spécifié avec la valeur OFFLOAD_TARGET.

      Si vous spécifiez à la fois des ID base de données et ANY, les demandes de jeu de données provenant de consommateurs qui ne correspondent pas à un ID base de données sont déchargées vers le clone actualisable spécifié avec la valeur OFFLOAD_TARGET.

  • OFFLOAD_TARGET est l'OCID d'une instance de base de données du service d'intelligence artificielle autonome qui est un clone actualisable.

La figure suivante illustre l'utilisation des cibles de déchargement.

Lorsqu'un consommateur de jeu de données demande l'accès à un jeu de données que vous enregistrez auprès de offload_targets et que l'ID base de données de l'instance Autonomous AI Database correspond à la valeur spécifiée dans CLOUD_LINK_DATABASE_ID, l'accès est déchargé vers le clone actualisable identifié par OFFLOAD_TARGET dans le fichier JSON fourni.

Par exemple, l'exemple suivant présente un échantillon JSON avec trois paires de valeurs OFFLOAD_TARGET/CLOUD_LINK_DATABASE_ID :

{
  "OFFLOAD_TARGETS": [
    {
      "CLOUD_LINK_DATABASE_ID": "34xxxxx69708978",
      "OFFLOAD_TARGET":
"ocid1.autonomousdatabase.oc1..xxxxx3pv6wkcr4jqae5f44n2b2m2yt2j6rx32uzr4h25vqstifsfabc"
    },
    {
      "CLOUD_LINK_DATABASE_ID": "34xxxxx89898978",
      "OFFLOAD_TARGET":
"ocid1.autonomousdatabase.oc1..xxxxx3pv6wkcr4jqae5f44n2b2m2yt2j6rx32uzr4h25vqstifsfdef"
    },
    {
      "CLOUD_LINK_DATABASE_ID": "34xxxxx4755680",
      "OFFLOAD_TARGET":
"ocid1.autonomousdatabase.oc1..xxxxx3pv6wkcr4jqae5f44n2b2m2yt2j6rx32uzr4h25vqstifsfghi"
    }
  ]
}

Lorsqu'un consommateur de jeu de données demande l'accès à un jeu de données que vous enregistrez auprès de offload_targets qui inclut le mot clé ANY, l'accès est déchargé vers le clone actualisable identifié par OFFLOAD_TARGET dans le JSON fourni (sauf pour les demandes de consommateurs qui ont une entrée d'ID base de données correspondante dans le JSON fourni).

Par exemple, l'exemple suivant présente un échantillon JSON avec une paire de valeurs OFFLOAD_TARGET/CLOUD_LINK_DATABASE_ID explicite et une valeur ANY avec une valeur OFFLOAD_TARGET correspondante :

{
  "OFFLOAD_TARGETS": [
    {
      "CLOUD_LINK_DATABASE_ID": "ANY",
      "OFFLOAD_TARGET":
"ocid1.autonomousdatabase.oc1..xxxxx3pv6wkcr4jqae5f44n2b2m2yt2j6rx32uzr4h25vqstifsfdef"
    },
    {
      "CLOUD_LINK_DATABASE_ID": "34xxxxx4755680",
      "OFFLOAD_TARGET":
"ocid1.autonomousdatabase.oc1..xxxxx3pv6wkcr4jqae5f44n2b2m2yt2j6rx32uzr4h25vqstifsfghi"
    }
  ]
}

Pour enregistrer un jeu de données et spécifier des cibles de déchargement, procédez de la façon suivante :

  1. Obtenez l'OCID d'un ou de plusieurs clones actualisables pour lesquels vous voulez décharger l'accès au jeu de données. Des OCID de clone actualisable sont disponibles dans la console Oracle Cloud Infrastructure sur un clone actualisable.
    Note

    La création d'un clone actualisable peut prendre jusqu'à 10 minutes pour qu'il soit visible en tant que cible du déchargement. Cela signifie que vous devrez peut-être attendre jusqu'à 10 minutes après avoir créé un clone actualisable pour que le clone actualisable soit disponible pour l'enregistrement du déchargement des liens vers le nuage.
  2. Obtenez l'ID base de données pour une ou plusieurs instances de base de données d'intelligence artificielle autonome auxquelles vous voulez accéder à l'aide des données fournies par le clone actualisable.

    Sur le système où vous voulez accéder au jeu de données à partir d'un clone actualisable, exécutez la commande suivante :

    SELECT DBMS_CLOUD_LINK.GET_DATABASE_ID FROM DUAL:
  3. Enregistrez un jeu de données et spécifiez le paramètre offload_targets.

    Par exemple, en supposant qu'il existe un schéma CLOUDLINK sur votre instance de base de données d'intelligence artificielle autonome, vous pouvez enregistrer SALES_VIEW_AGG et spécifier les clones actualisables qui fournissent l'accès au jeu de données :

    BEGIN
       DBMS_CLOUD_LINK.REGISTER(
        schema_name     => 'CLOUDLINK',
        schema_object   => 'SALES_VIEW_AGG',
        namespace       => 'REGIONAL_SALES', 
        name            => 'SALES_AGG',
        description     => 'Aggregated regional sales information.',
        scope           => 'MY$TENANCY',
        auth_required   =>  FALSE,
        data_set_owner  =>  'amit@example.com',
        offload_targets => '{
      "OFFLOAD_TARGETS": [
        {
          "CLOUD_LINK_DATABASE_ID": "34xxxx754755680",
          "OFFLOAD_TARGET":
    "ocid1.autonomousdatabase.oc1..xxxxxaaba3pv6wkcr4jqae5f44n2b2m2yt2j6rx32uzr4h25vqstifsfghi"
        }
      ]
    }');
    END;
    /

    Les paramètres sont les suivants :

    • schema_name : Nom du schéma (responsable de l'objet).

    • schema_object : Nom de l'objet. Les objets valides sont les suivants :

      • Tables (y compris le tas, externe ou hybride)
      • Vues
      • Vues matérialisées
      Note

      Les autres objets tels que les vues analytiques ou les synonymes ne sont pas pris en charge.
    • namespace : Espace de noms que vous fournissez en tant que nom pour l'accès aux liens en nuage (une partie du nom complet des liens en nuage).

      Une valeur NULL spécifie une valeur namespace générée par le système, unique à l'instance de base de données du service d'intelligence artificielle autonome.

    • name : Nom que vous fournissez pour l'accès aux liens en nuage (une partie du nom complet du lien en nuage).

    • scope : Spécifie la portée. Vous pouvez utiliser l'une des variables : MY$REGION, MY$TENANCY ou MY$COMPARTMENT ou spécifier un ou plusieurs OCID.

      Pour plus d'informations, voir Portée du jeu de données, contrôle d'accès et autorisation.

    • auth_required : Valeur booléenne qui spécifie si une autorisation au niveau de la base de données est requise pour le jeu de données, en plus du contrôle d'accès à la portée. Lorsque cette valeur est réglée à TRUE, le jeu de données applique une étape d'autorisation supplémentaire. Pour plus d'informations, voir Enregistrer un jeu de données avec autorisation requise.

    • data_set_owner : La valeur de texte spécifie les informations sur la personne responsable du jeu de données ou sur un contact pour les questions concernant le jeu de données. Par exemple, vous pouvez fournir une adresse de courriel au responsable du jeu de données.

    • offload_targets : Spécifie un ou plusieurs OCID de base de données d'IA autonome des clones actualisables où l'accès aux jeux de données est déchargé, à partir de la base de données d'IA autonome où le jeu de données est enregistré.

      Pour chaque consommateur de jeu de données, l'un des éléments suivants peut correspondre pour décharger la demande vers un clone actualisable :

      • Lorsqu'il existe une correspondance avec la valeur de cloud_link_database_id spécifiée, c'est-à-dire que les valeurs correspondent à l'ID base de données du consommateur, l'accès est déchargé vers le clone actualisable identifié par l'OCID spécifié dans offload_target.

      • Lorsque le mot clé ANY est spécifié, s'il n'y a pas de correspondance avec la valeur d'un cloud_link_database_id spécifié, l'accès est déchargé vers le clone actualisable identifié avec l'entrée ANY par l'OCID spécifié dans le offload_target correspondant.

    Note

    Si votre éditeur de données est un chef de groupe élastique ou un membre du groupe élastique, au lieu de configurer les détails de la cible de déchargement avec offload_targets, vous pouvez utiliser la fonction de déchargement d'interrogation unifiée. Dans ce cas, l'éditeur permet au déchargement des interrogations ProxySQL de décharger les interrogations (lectures) sur un nombre illimité de clones actualisables sans avoir à configurer les cibles. Pour plus d'informations, voir Utiliser le déchargement d'interrogation unifiée avec des liens vers le nuage.

    Pour plus d'informations, voir :

Mettre à jour les attributs d'inscription au jeu de données

Après avoir enregistré un jeu de données, vous pouvez mettre à jour certains attributs de jeu de données. Vous ne pouvez pas mettre à jour le nom du schéma, l'objet de schéma, l'espace de noms ou les attributs de nom.

Pour mettre à jour les attributs de jeu de données :

  1. L'utilisateur qui a enregistré un jeu de données peut mettre à jour ses attributs avec DBMS_CLOUD_LINK.UPDATE_REGISTRATION.

    Si vous ne disposez pas des privilèges nécessaires pour mettre à jour les attributs de jeu de données, vous devez obtenir les privilèges d'enregistrement d'autorisation de l'utilisateur ADMIN.

    Pour plus d'informations, voir Accorder l'accès aux liens vers le nuage aux utilisateurs de base de données.

  2. Mettez à jour un ou plusieurs attributs pour un jeu de données.

    Par exemple, utilisez DBMS_CLOUD_LINK.UPDATE_REGISTRATION pour mettre à jour les attributs description, scope et auth_required pour le jeu de données dans l'espace de noms REGIONAL_SALES avec le nom SALES_AGG :

    BEGIN
       DBMS_CLOUD_LINK.UPDATE_REGISTRATION(
        namespace      => 'REGIONAL_SALES', 
        name           => 'SALES_AGG',
        description    => 'Updated description for aggregated regional sales information.',
        scope          => 'MY$COMPARTMENT',
        auth_required  =>  TRUE );
    END;
    /

    Les paramètres requis sont les suivants :

    • namespace : Espace de noms du jeu de données que vous avez fourni lors de l'enregistrement du jeu de données.

    • name : Nom du jeu de données que vous avez fourni lors de l'enregistrement du jeu de données.

    Voici une liste des paramètres facultatifs. Si NULL est transmis pour une valeur de paramètre facultative, l'attribut n'est pas modifié.

    • description : Spécifie le texte mis à jour pour décrire les données.

    • scope : Spécifie la portée. Vous pouvez utiliser l'une des variables : MY$REGION, MY$TENANCY ou MY$COMPARTMENT ou spécifier un ou plusieurs OCID.

      Pour plus d'informations, voir Portée du jeu de données, contrôle d'accès et autorisation.

    • auth_required : Valeur booléenne qui spécifie si une autorisation au niveau de la base de données est requise pour le jeu de données, en plus du contrôle d'accès à la portée. Lorsque cette valeur est réglée à TRUE, le jeu de données applique une étape d'autorisation supplémentaire. Pour plus d'informations, voir Enregistrer un jeu de données avec autorisation requise.

    • data_set_owner : La valeur de texte spécifie les informations sur la personne responsable du jeu de données ou sur un contact pour les questions concernant le jeu de données. Par exemple, vous pouvez fournir une adresse de courriel au responsable du jeu de données.

    • offload_targets : Spécifie un ou plusieurs OCID Autonomous Database de clones actualisables où l'accès aux jeux de données est déchargé, à partir de la base de données Autonomous Database où le jeu de données est enregistré. Pour plus d'informations, voir Enregistrer un jeu de données avec des cibles de déchargement pour l'accès au jeu de données.

    Vous ne pouvez pas mettre à jour les attributs schema_name ou schema_object.

    Pour plus d'informations, voir ProcédureUPDATE_REGISTRATION.

Lorsqu'un jeu de données est enregistré dans un ou plusieurs clones actualisables inter-régions, toutes les modifications apportées à l'enregistrement dans la base de données source doivent être propagées vers les régions distantes.

Notez les points suivants pour propager les modifications aux clones actualisables inter-régions :

  • Si un fournisseur a N clones actualisables inter-régions dans une région, par exemple dans la région A, exécutez DBMS_CLOUD_LINK.UPDATE_REGISTRATION sur exactement un clone actualisable dans la région A.

  • Si le même fournisseur a M clones actualisables inter-régions dans une autre région distante, par exemple dans la région B, exécutez DBMS_CLOUD_LINK.UPDATE_REGISTRATION sur exactement un clone actualisable dans la région B.

Pour mettre à jour les attributs lorsqu'un jeu de données est enregistré dans un ou plusieurs clones actualisables inter-régions :

  1. Dans la base de données source, mettez à jour l'enregistrement du jeu de données.

  2. Sur un clone actualisable distant dans la région distante s'il n'y a qu'une seule région distante, ou sur un clone actualisable distant dans chaque région distante s'il y a des clones actualisables répliqués dans plusieurs régions, mettez à jour l'enregistrement du jeu de données avec les mêmes valeurs que celles que vous avez utilisées pour mettre à jour la base de données source, à l'exception du paramètre offload_targets.

    Dans une région distante donnée, vous n'avez besoin d'exécuter DBMS_CLOUD_LINK.UPDATE_REGISTRATION que sur exactement un clone actualisable dans cette région (si la région a plusieurs clones actualisables associés au même jeu de données, vous n'avez besoin d'exécuter la procédure qu'une seule fois pour propager les modifications à tous les clones actualisables dans une région distante individuelle).

  3. Actualisez les clones actualisables.

    Pour plus d'informations, voir Actualiser un clone actualisable sur une base de données d'IA autonome.

Rechercher des jeux de données et utiliser des liens vers le nuage

Un utilisateur disposant d'un accès en lecture aux liens vers le nuage peut rechercher les jeux de données disponibles pour une instance de base de données d'IA autonome et accéder aux jeux de données enregistrés et les utiliser avec ses interrogations.

Une fois que l'utilisateur ADMIN exécute GRANT_READ, il peut rechercher et utiliser des liens en nuage.

  1. Recherchez les jeux de données disponibles sur votre instance de base de données d'IA autonome.

    Par exemple, recherchez tous les jeux de données contenant la chaîne "TREE" :

    DECLARE
       result CLOB DEFAULT NULL;
    BEGIN
       DBMS_CLOUD_LINK.FIND('TREE', result);
        DBMS_OUTPUT.PUT_LINE(result);
    END;
    /
    
    [{"name":"TREE_DATA","namespace":"FOREST","description":"Urban tree data including county, species and height"}]

    Les paramètres sont les suivants :

    • search_string : Chaîne à rechercher. La chaîne de recherche n'est pas sensible à la casse.

    • search_result : Document JSON qui inclut les valeurs d'espace de noms, de nom et de description pour le jeu de données.

    Pour plus d'informations, voir Procédure FIND.

    La procédure DBMS_CLOUD_LINK.FIND fournit le nom complet que vous pouvez utiliser avec Cloud Links. Dans ce cas, FOREST.TREE_DATA.

  2. Utilisez la vue DBA_CLOUD_LINK_ACCESS pour lister les jeux de données disponibles :
    SELECT * FROM DBA_CLOUD_LINK_ACCESS;
    
    NAMESPACE            NAME
    ---------            -------------- 
    FOREST               TREE_DATA 
    REGIONAL_SALES       SALES_AGG
    TRUSTED_COMPARTMENT  SALES
  3. Utilisez la procédure DBMS_CLOUD_LINK.DESCRIBE pour obtenir plus de détails sur un jeu de données enregistré.
    SELECT DBMS_CLOUD_LINK.DESCRIBE('FOREST','TREE_DATA') FROM DUAL;
    
    DBMS_CLOUD_LINK.DESCRIBE('FOREST','TREE_DATA')
    ---------------------------------------------------
    Urban tree data including county, species and height
  4. Utilisez le jeu de données enregistré dans une interrogation.
    SELECT * FROM FOREST.TREE_DATA@cloud$link;
    Note

    L'enregistrement d'un jeu de données avec DBMS_CLOUD_LINK.REGISTER peut prendre jusqu'à 10 minutes pour que le jeu de données soit visible et accessible.
Cloud Links prend en charge les synonymes privés et publics. Par exemple, vous pouvez définir et utiliser un synonyme pour FOREST.TREE_DATA@cloud$link :
CREATE SYNONYM S1 for FOREST.TREE_DATA@cloud$link;
CREATE PUBLIC SYNONYM S2 for FOREST.TREE_DATA@cloud$link;

SELECT * FROM S1;

SELECT * FROM S2;

Pour plus d'informations, voir CREATE SYNONYM.

Utiliser les liens en nuage - Options du consommateur

Vous pouvez définir le mappage de nom de service à utiliser pour accéder aux données d'une base de données de consommateurs et activer la mise en mémoire cache sur un consommateur de jeu de données pour les résultats d'une interrogation ou pour un fragment d'interrogation qui accède aux données de Cloud Link.

Définir le mappage de nom de service de base de données pour les consommateurs de liens en nuage

Vous pouvez définir le mappage de nom de service à utiliser lorsque les consommateurs de liens vers le nuage accèdent aux données d'un responsable de jeu de données.

Les liens vers le nuage s'appuient sur les ressources de base de données de l'instance de base de données d'intelligence artificielle autonome qui fournit le jeu de données, ou sur les ressources d'un clone actualisable, pour accéder aux données partagées. Par défaut, la connectivité distante permettant aux consommateurs d'accéder aux données de Cloud Links utilise le service de base de données MEDIUM.

Utilisez DBMS_CLOUD_LINK_ADMIN.ADD_SERVICE_MAPPING pour définir le mappage du service de base de données pour un consommateur. Dans cette procédure, vous indiquez un ID base de données ou le mot clé ANY pour spécifier le mappage du service client. Par exemple, la figure suivante présente un mappage du consommateur A au service HIGH, du consommateur B au service MEDIUM, du consommateur C au service LOW et un mappage du service ANY au service TP, ce qui signifie que tous les autres consommateurs accèdent aux liens Cloud à l'aide du service TP.



Voir Noms de service de base de données pour Autonomous AI Database pour plus d'informations sur les caractéristiques des services de base de données.

Pour définir le service de base de données à utiliser pour un consommateur Cloud Links, procédez comme suit :

  1. Obtenez l'ID de la base de données pour laquelle vous souhaitez définir un mappage de service.

    Sur la base de données de consommateur, exécutez GET_DATABASE_ID pour obtenir l'ID base de données du consommateur. Exemple :

    SELECT DBMS_CLOUD_LINK.GET_DATABASE_ID FROM DUAL:

    Pour plus d'informations, voir Fonction GET_DATABASE_ID.

  2. Dans l'instance de base de données d'intelligence artificielle autonome du responsable du jeu de données, spécifiez un mappage de service.

    Effectuez cette étape sur l'instance Autonomous AI Database du responsable du jeu de données (c'est-à-dire sur la base de données du fournisseur).

    BEGIN
       DBMS_CLOUD_LINK_ADMIN.ADD_SERVICE_MAPPING(
        database_id      => 'database_id', 
        service_name     => 'HIGH');
    END;
    /

    Où la valeur du paramètre database_id est l'ID base de données que vous avez obtenu à l'étape 1.

    Spécifiez la valeur ANY pour que database_id utilise la valeur service_name spécifiée avec toutes les bases de données de consommateurs qui n'ont pas de valeur service_name associée à leur valeur database_id. Autrement dit, tout database_id dont service_name n'a pas été défini avec DBMS_CLOUD_LINK_ADMIN.ADD_SERVICE_MAPPING.

    Pour plus d'informations, voir ProcédureADD_SERVICE_MAPPING.

    Seuls l'utilisateur ADMIN et les schémas dotés du rôle PDB_DBA peuvent exécuter DBMS_CLOUD_LINK_ADMIN.ADD_SERVICE_MAPPING.

  3. Vérifiez les ID base de données et le mappage de service en listant les mappages de service Cloud Links.

    Exemple :

    SELECT * FROM  DBA_CLOUD_LINK_SERVICE_MAPPINGS;

    Pour plus d'informations, voir Vue DBA_CLOUD_LINK_SERVICE_MAPPINGS.

Notes pour définir et modifier les mappages de service :

  • Les mappages de service prennent effet au moment de l'établissement des connexions. Si les mappings de services d'un consommateur particulier sont modifiés, les nouveaux mappings ne prennent effet que pour les nouvelles sessions du consommateur.

  • Tout mappage de service configuré dans un responsable de jeu de données pour un consommateur spécifique est respecté même si l'accès du consommateur est déchargé vers un clone actualisable. Le clone actualisable doit être actualisé à un point dans le temps après la configuration des mappages de service dans le responsable du jeu de données. Notez que le déchargement vers un clone actualisable est configuré avec l'argument offload_targets lors de l'enregistrement du jeu de données.

    Pour plus d'informations, voir Enregistrer un jeu de données avec des cibles de déchargement pour l'accès au jeu de données.

  • Utilisez la procédure DBMS_CLOUD_LINK_ADMIN.REMOVE_SERVICE_MAPPING pour supprimer un mappage de service pour un database_id spécifié.

    Après avoir exécuté DBMS_CLOUD_LINK_ADMIN.REMOVE_SERVICE_MAPPING, un consommateur utilise le service de base de données MEDIUM par défaut ou service_name que vous spécifiez si vous exécutez DBMS_CLOUD_LINK_ADMIN.ADD_SERVICE_MAPPING avec la valeur database_id ANY. Pour plus d'informations, voir ProcédureREMOVE_SERVICE_MAPPING.

Définir le mappage des noms de service de base de données pour les consommateurs de liens en nuage dans la région distante

Un jeu de données enregistré dans une région source est accessible avec des liens en nuage à partir d'une région distante lorsque vous créez un clone actualisable inter-région dans la région distante.

Dans ce cas, les mappages de service pour les consommateurs de la région distante doivent être ajoutés deux fois, dans la base de données source et dans le clone actualisable de la région distante.

Effectuez les étapes suivantes pour définir les mappages de service pour les consommateurs Cloud Links dans une région distante.

  1. Créez un clone actualisable inter-région de la base de données source (le clone actualisable est un clone du responsable du jeu de données Cloud Links dans la région distante).
  2. Enregistrez le jeu de données.

    Pour plus d'informations, voir Enregistrer un jeu de données.

  3. Ajoutez les mappages de service au responsable du jeu de données.
  4. Actualisez le clone actualisable.
  5. Sur le clone actualisable distant, enregistrez le jeu de données à l'aide des mêmes arguments que ceux utilisés pour enregistrer le jeu de données dans la région source (c'est-à-dire, utilisez les mêmes arguments que ceux utilisés à l'étape 2).
  6. Dans le clone actualisable distant, ajoutez les mappages de service à l'aide des mêmes arguments que ceux que vous avez utilisés dans la région source (c'est-à-dire, utilisez les mêmes arguments que ceux que vous avez utilisés à l'étape 3).

Lorsqu'un consommateur de la région distante accède aux données de Cloud Links, l'accès utilise les mêmes mappages de service que ceux que vous avez ajoutés dans la base de données du responsable du jeu de données de la région source.

Activer la mise en mémoire cache pour un consommateur de liens vers le nuage

Vous pouvez activer la mise en cache sur un consommateur de jeu de données pour les résultats d'une interrogation ou pour un fragment d'interrogation qui accède aux données Cloud Link.

Pour activer la mise en mémoire cache sur un consommateur de jeu de données, utilisez le conseil RESULT_CACHE avec l'option SHELFLIFE. Avec l'option SHELFLIFE, vous fournissez une valeur qui indique la durée, en secondes, pendant laquelle un résultat d'interrogation est mis en mémoire cache. Une fois l'intervalle SHELFLIFE écoulé, le résultat mis en mémoire cache est marqué comme non valide. Tant que le résultat mis en cache est valide, une interrogation extrait les données mises en cache du cache de la base de données du consommateur, ce qui évite un aller-retour vers la base de données du responsable du jeu de données.

Utilisez le conseil RESULT_CACHE avec l'option SHELFLIFE lorsque le jeu de données est statique ou lorsque le consommateur peut tolérer des résultats périmés. La valeur de SHELFLIFE permet au consommateur du jeu de données Cloud Link de contrôler le temps, en secondes, pendant lequel les données du cache sont valides (le degré de staleness acceptable).

Si le résultat de l'interrogation est volumineux et ne tient pas dans la mémoire, vous pouvez utiliser le conseil RESULT_CACHE avec l'option SHELFLIFE et l'option TEMP pour indiquer que le résultat doit être écrit sur le disque dans l'espace-table temporaire.

Pour mettre en cache les données Cloud Link avec le conseil RESULT_CACHE :

  1. Dans une interrogation, spécifiez le conseil RESULT_CACHE avec l'option SHELFLIFE.

    Exemple :

    SELECT /*+ RESULT_CACHE (SHELFLIFE=120) */ * FROM FOREST.TREE_DATA@cloud$link;

    Cette valeur RESULT_CACHE spécifie une valeur SHELFLIFE de 120. Cela indique que le résultat doit être mis en mémoire cache pendant 120 secondes. Après 120 secondes, le résultat mis en cache est marqué comme non valide.

    La valeur SHELFLIFE doit être un entier positif. La valeur maximale de SHELFLIFE est 4294967295.

  2. Si le résultat de l'interrogation est volumineux et ne tient pas dans la mémoire, utilisez les options SHELFLIFE et TEMP pour indiquer que le résultat doit être écrit sur le disque dans le tablespace temporaire.
    SELECT /*+ RESULT_CACHE (TEMP=true SHELFLIFE=360) */ * FROM FOREST.TREE_DATA@cloud$link;

Voir RESULT_CACHE_MODE pour plus de détails sur l'utilisation du cache de résultats avec Autonomous AI Database.

Voir ConseilRESULT_CACHE pour plus d'informations sur RESULT_CACHE avec SHELFLIFE.

Voir DBMS_RESULT_CACHE pour plus d'informations sur les procédures de gestion de la mémoire cache des résultats et d'invalidation des objets dans la mémoire cache des résultats.

Surveiller et voir les informations sur les liens vers le nuage

Autonomous AI Database fournit des vues qui vous permettent de surveiller et de vérifier les liens vers le nuage.

Voir Description
V$CLOUD_LINK_ACCESS_STATS et Vues GV$CLOUD_LINK_ACCESS_STATS

Permet de suivre l'accès à chaque jeu de données enregistré dans l'instance de base de données Autonomous AI Database. Ces vues suivent le temps écoulé, le temps CPU, le nombre de lignes extraites et des informations supplémentaires sur les jeux de données enregistrés. Vous pouvez utiliser les informations de ces vues pour vérifier l'accès au jeu de données Cloud Links et son utilisation.

Vues DBA_CLOUD_LINK_REGISTRATIONS et ALL_CLOUD_LINK_REGISTRATIONS

Utilisez cette option pour lister les détails des jeux de données enregistrés dans une instance de base de données du service d'intelligence artificielle autonome.

Vues DBA_CLOUD_LINK_ACCESS et ALL_CLOUD_LINK_ACCESS

Permet d'extraire les détails des jeux de données enregistrés auxquels une base de données est autorisée à accéder.

Vue DBA_CLOUD_LINK_AUTHORIZATIONS

Fournit des informations sur les bases de données autorisées à accéder aux jeux de données. Cela s'applique aux jeux de données où le paramètre auth_required est TRUE.

Vues DBA_CLOUD_LINK_PRIVS et USER_CLOUD_LINK_PRIVS

Fournit des informations sur les privilèges propres à Cloud Link, REGISTER, READ ou AUTHORIZE, accordés à tous les utilisateurs ou à l'utilisateur courant.

Vue DBA_CLOUD_LINK_SERVICE_MAPPINGS

Affiche les détails de tous les mappages de service pour les bases de données de consommateurs Cloud Links. Chaque mappage de service comprend un ID base de données Cloud Link et un service de base de données.

Définir une politique de base de données privée virtuelle pour sécuriser un jeu de données enregistré

En définissant des politiques de base de données privée virtuelle (VPD) pour un jeu de données enregistré, vous pouvez fournir un contrôle d'accès Cloud Link détaillé afin que seul un sous-ensemble de données (rangées) soit visible pour des sites distants spécifiques.

Oracle Virtual Private Database (VPD) est une fonctionnalité de sécurité qui vous permet de contrôler dynamiquement l'accès aux données au niveau ligne pour les utilisateurs et les applications en appliquant des filtres sur le même jeu de données.

Tout utilisateur disposant d'un accès en lecture aux liens Cloud peut accéder aux jeux de données enregistrés et les utiliser s'ils sont dans la portée spécifiée lors de l'enregistrement du jeu de données et si le paramètre d'autorisation supplémentaire requis est défini pour le jeu de données, l'accès provient d'une base de données autorisée. Chaque accès distant est effectué dans le contexte de l'instance de base de données Autonomous AI Database distante qui accède au jeu de données enregistré (sur la base de données où le jeu de données a été enregistré).

Vous utilisez la fonction DBMS_CLOUD_LINK.GET_DATABASE_ID sur le système distant pour obtenir l'ID unique de la base de données. En définissant une politique de BDVP sur la base de données qui a enregistré un jeu de données, vous pouvez désormais utiliser l'identificateur de la base de données distante en tant que règle SYS_CONTEXT pour fournir un contrôle plus détaillé. Vous pouvez définir des règles pour les bases de données distantes qui accèdent à votre jeu de données enregistré et limiter l'accès au-delà de ce qui est possible en spécifiant une portée Cloud Link.

Prenons un exemple où REGIONAL_SALES.SALES_AGG est rendu disponible au niveau de la location. Si vous souhaitez restreindre l'accès à toutes les bases de données à l'exception d'une base de données spécifique, en autorisant uniquement l'accès complet à la base de données spécifiée, vous pouvez ajouter une politique de BDVP au jeu de données enregistré.

Exemple :

  1. Obtenez l'ID base de données Cloud Link unique pour l'instance de base de données Autonomous AI Database à laquelle vous voulez fournir un accès complet.
    DECLARE
         DB_ID NUMBER;
     BEGIN
         DB_ID := DBMS_CLOUD_LINK.GET_DATABASE_ID;
         DBMS_OUTPUT.PUT_LINE('Database ID:' || DB_ID);
     END;
     /
  2. Créez une stratégie VPD sur la base de données qui a enregistré le jeu de données en autorisant uniquement l'accès complet à la base de données spécifique dont vous avez obtenu l'identificateur dans la base de données en question à l'étape 1.
    CREATE OR REPLACE FUNCTION vpd_policy_sales(
         owner IN VARCHAR2, 
         object IN VARCHAR2)
         RETURN VARCHAR2 IS
    BEGIN
      IF SYS_CONTEXT('USERENV', 'CLOUD_LINK_DATABASE_ID')  <> '12121212163948244901' THEN
        RETURN 'time_id >= trunc(sysdate,''year'')';  
      ELSE
        RETURN '';
      END IF;
    END;
    /

    Pour plus d'informations, voir DBMS_RLS.

  3. Enregistrez la stratégie de BDVP pour votre jeu de données enregistré afin de limiter l'accès complet à la base de données identifiée à l'étape 1.
    
    BEGIN
      DBMS_RLS.ADD_POLICY(object_schema => 'CLOUDLINK',
                object_name => 'SALES_VIEW_AGG',
                policy_name => 'THIS_YEAR',
                function_schema => 'ADMIN',
                policy_function => 'VPD_POLICY_SALES',
                statement_types => 'SELECT',
                policy_type => DBMS_RLS.SHARED_CONTEXT_SENSITIVE);
    END;
    /

    Pour plus d'informations, voir DBMS_RLS.

Notes pour les liens vers le nuage

Présente des notes et des restrictions sur l'utilisation des liens en nuage.

  • Le nombre de jeux de données que vous pouvez enregistrer est limité à 4096.

    Chaque instance de base de données autonome avec intelligence artificielle ne peut enregistrer que 4096 jeux de données. Cette limite s'applique à chaque instance de base de données d'IA autonome, quel que soit le nombre d'ECPU (OCPU si votre base de données utilise des OCPU) ou la taille de stockage de l'instance. La limite est une valeur fixe et le fait de régler le nombre d'ECPU à une valeur supérieure ne vous permet pas d'enregistrer plus de jeux de données.

  • Vous pouvez enregistrer un objet dans un autre schéma si vous disposez du privilège READ WITH GRANT OPTION sur l'objet.

  • Pour enregistrer des jeux de données ou voir des jeux de données distants et y accéder, vous devez disposer du privilège approprié pour enregistrer ou lire des jeux de données. Cela est également vrai pour ADMIN, mais ADMIN peut s'accorder ce privilège.

  • Pour utiliser DBMS_CLOUD_LINK.REGISTER ou DBMS_CLOUD_LINK.UPDATE_REGISTRATION, vous devez disposer du privilège d'exécution sur l'ensemble DBMS_CLOUD_LINK, en plus du privilège d'enregistrement affecté à DBMS_CLOUD_LINK_ADMIN.GRANT_REGISTER. Seuls l'utilisateur ADMIN et les schémas avec PDB_DBA disposent de ce privilège par défaut.

  • Si vous supprimez et recréez une table qui a été enregistrée, vous devez la réenregistrer pour un accès distant.

  • Seuls l'utilisateur ADMIN et les utilisateurs dotés du rôle PDB_DBA ont le privilège d'accéder aux vues suivantes :

    • DBA_CLOUD_LINK_ACCESS

    • DBA_CLOUD_LINK_REGISTRATIONS

    • DBA_CLOUD_LINK_AUTHORIZATIONS

    • DBA_CLOUD_LINK_PRIVS

    Pour plus d'informations, voir Vues DBMS_CLOUD_LINK.

  • L'accès aux données enregistrées et distantes nécessite l'ouverture de la base de données distante. Si la base de données distante est fermée ou en mode restreint, vous ne pourrez pas accéder aux données et une erreur Oracle sera retournée.

  • Il existe une limite maximale de quatre liens de base de données ouverts par session. Le dépassement de cette limite peut entraîner ORA-02020 ou ORA-12545.

  • Si la mémoire cache de résultats est activée, comme le comportement par défaut dans Autonomous AI Database avec la charge de travail Lakehouse, vous devez vous assurer que la mémoire cache de résultats n'est pas utilisée lorsque des données en temps réel sont requises.

  • Lorsque vous mettez à jour votre type de licence de Gratuit à Payant, vous devez réenregistrer les jeux de données Cloud Links. Pour plus d'informations, voir Mettre à jour l'instance toujours gratuite vers une base de données d'IA autonome.

  • La connectivité distante de Cloud Links utilise par défaut le service de base de données MEDIUM. Vous pouvez modifier la valeur par défaut avec DBMS_CLOUD_LINK_ADMIN.ADD_SERVICE_MAPPING en utilisant ANY comme valeur pour DATABASE_ID. Vous pouvez modifier le service de base de données pour un consommateur avec DBMS_CLOUD_LINK_ADMIN.ADD_SERVICE_MAPPING en spécifiant la valeur DATABASE_ID du consommateur. Pour plus d'informations, voir Définir le mappage des noms de service de base de données pour les consommateurs de liens en nuage.

    Vous pouvez voir les connexions distantes en tant qu'utilisateur C##DATA$SHARE dans V$SESSION et les vues Cloud Links V$CLOUD_LINK_ACCESS_STATS et GV$CLOUD_LINK_ACCESS_STATS fournissent plus de détails sur les connexions distantes.

  • Toutes les interfaces sont sensibles à la casse, sauf indication contraire, comme suit :

    • Tout ce que vous entrez qui existe dans la base de données, par exemple les noms d'utilisateur et les noms de table, est significatif et doit être entré avec des lettres majuscules.
    • Les variables prédéfinies, par exemple les valeurs d'étendue prédéfinies doivent être entrées en majuscules.
    • Tout ce que vous spécifiez pour la configuration de Cloud Links, par exemple les espaces de noms ou les noms de tables dans un espace de noms, doit être spécifié tel qu'il a été entré. Par exemple, si vous définissez un espace de noms comme trees, vous devez encadrer l'espace de noms par des guillemets doubles, comme "trees", lors de l'accès à celui-ci avec SQL.
  • Vous pouvez partager des liens en nuage lorsqu'un jeu de données réside sur une instance de base de données d'intelligence artificielle autonome en mode lecture seule. Pour plus d'informations, voir Utiliser des liens en nuage à partir d'une instance de base de données d'IA autonome en lecture seule.

  • Cela peut prendre jusqu'à 10 minutes après la création d'un clone actualisable pour qu'il soit visible en tant que cible de déchargement. Cela signifie que vous devrez peut-être attendre jusqu'à 10 minutes après avoir créé un clone actualisable pour que le clone actualisable soit disponible pour l'enregistrement du déchargement des liens vers le nuage.

    Pour plus d'informations, voir Enregistrer un jeu de données avec des cibles de déchargement pour l'accès au jeu de données et Créer un clone actualisable pour une instance de base de données du service d'intelligence artificielle autonome.

Utiliser des liens en nuage à partir d'une instance de base de données d'IA autonome en lecture seule

Vous pouvez partager des liens en nuage lorsqu'un jeu de données réside sur une instance de base de données d'IA autonome en lecture seule.

Pour partager des liens en nuage à partir d'une instance de base de données d'intelligence artificielle autonome en mode lecture seule :
  1. Remplacez le mode de base de données par Read/Write.
  2. Avec la base de données en mode lecture/écriture, effectuez les étapes d'enregistrement d'un jeu de données.
    1. Accorder l'accès aux liens en nuage aux utilisateurs de base de données
    2. Enregistrer ou annuler l'enregistrement d'un jeu de données
  3. Après avoir enregistré un ou plusieurs jeux de données, changez la base de données en mode lecture seule.