Package DBMS_CLOUD_LINK

Le package DBMS_CLOUD_LINK permet à un utilisateur d'inscrire une table ou une vue en tant qu'ensemble de données pour un accès en lecture seule avec des liens cloud.

Présentation de DBMS_CLOUD_LINK

Décrit l'utilisation du package DBMS_CLOUD_LINK.

Le package DBMS_CLOUD_LINK fournit la procédure REGISTER qui vous permet d'inscrire une table ou une vue en tant qu'ensemble de données à utiliser avec les liens cloud. Pour pouvoir inscrire un ensemble de données, l'utilisateur ADMIN doit accorder à un utilisateur le droit d'inscrire un ensemble de données à l'aide de la procédure DBMS_CLOUD_LINK_ADMIN.GRANT_REGISTER. Une fois que l'utilisateur ADMIN a exécuté GRANT_REGISTER, il peut inscrire une table ou une vue dont il est propriétaire en tant qu'ensemble de données inscrit (ou inscrire un objet dans un autre schéma si l'utilisateur dispose du privilège READ WITH GRANT OPTION sur l'objet). Les ensembles de données inscrits fournissent un accès distant à l'objet inscrit avec des liens cloud, sous réserve de la portée spécifiée avec la procédure REGISTER.

Pour exécuter DBMS_CLOUD_LINK.REGISTER, DBMS_CLOUD_LINK.UPDATE_REGISTRATION ou DBMS_CLOUD_LINK.UNREGISTER, vous devez disposer du privilège d'exécution sur le package DBMS_CLOUD_LINK, en plus d'avoir exécuté DBMS_CLOUD_LINK_ADMIN.GRANT_REGISTER au préalable. Par défaut, seuls l'utilisateur ADMIN et les schémas dotés du rôle PDB_DBA disposent du privilège d'exécution sur DBMS_CLOUD_LINK.

Récapitulatif des sous-programmes DBMS_CLOUD_LINK

Affiche une table avec un récapitulatif des sous-programmes inclus dans le package DBMS_CLOUD_LINK.

Sous-programme Description

Fonction DESCRIBE

Cette fonction extrait la description d'un ensemble de données. La description est fournie lorsqu'un ensemble de données est inscrit auprès de DBMS_CLOUD_LINK.REGISTER.

Rechercher une procédure

Extrait l'espace de noms, le nom et la description des jeux de données qui correspondent à la chaîne de recherche. Les jeux de données correspondants ne sont affichés que s'ils sont accessibles à l'utilisateur, en fonction des restrictions d'accès.

Fonction GET_DATABASE_ID

Renvoie un identificateur unique pour l'instance Autonomous Database. Les appels répétés vers DBMS_CLOUD_LINK.GET_DATABASE_ID sur la même instance renvoient toujours la même valeur.

GRANT_AUTHORIZATION Procédure

Autorise une base de données spécifiée à accéder à l'ensemble de données indiqué.

Procédure d'enregistrement

Enregistre une table ou une vue en tant qu'ensemble de données.

REVOKE_AUTHORIZATION Procédure

Révoque l'autorisation d'accès à l'ensemble de données indiqué pour une base de données spécifiée.

Procédure UNREGISTER

Enlève un ensemble de données inscrit.

UPDATE_REGISTRATION Procédure

Met à jour les attributs d'un ensemble de données inscrit à l'aide de DBMS_CLOUD_LINK.REGISTER.

Fonction DESCRIBE

Cette fonction extrait la description d'un ensemble de données. La description est fournie lorsqu'un ensemble de données est inscrit auprès de DBMS_CLOUD_LINK.REGISTER.

Syntaxe

DBMS_CLOUD_LINK.DESCRIBE(
      namespace        IN   VARCHAR2,
      name             IN   VARCHAR2
) return CLOB;

Paramètres

Paramètre Description

namespace

Spécifie l'espace de noms de l'ensemble de données inscrit.

name

Spécifie le nom d'un ensemble de données inscrit.

Remarque sur l'utilisation

Vous pouvez utiliser cette fonction sous réserve des restrictions d'accès imposées lors de l'inscription auprès de DBMS_CLOUD_LINK.REGISTER. Si un ensemble de données n'est pas accessible à une base de données, sa description ne sera pas extraite.

Rechercher une procédure

Cette procédure extrait l'espace de noms, le nom et la description des ensembles de données correspondant à la chaîne de recherche. Les jeux de données correspondants ne sont affichés que s'ils sont accessibles à l'utilisateur, en fonction des restrictions d'accès.

Syntaxe

DBMS_CLOUD_LINK.FIND(
      search_string        IN   VARCHAR2,
      search_result        OUT   CLOB
);

Paramètres

Paramètre Description

search_string

Spécifie la chaîne de recherche. La casse de la chaîne de recherche n'est pas respectée.

search_result

Document JSON qui inclut les valeurs d'espace de noms, de nom et de description de l'ensemble de données.

Remarque sur l'utilisation

La chaîne de recherche n'est pas sensible à la casse et le package utilise la recherche de texte libre à l'aide d'Oracle Text.

Fonction GET_DATABASE_ID

La fonction renvoie un identificateur unique pour l'instance Autonomous Database. Les appels répétés vers DBMS_CLOUD_LINK.GET_DATABASE_ID sur la même instance renvoient toujours la même valeur.

Vous pouvez appeler cette fonction sur une base de données qui accède à distance à un ensemble de données inscrit pour obtenir l'ID de base de données. Cela vous permet de fournir l'iD de base de données afin qu'un propriétaire d'ensemble de données puisse tirer parti d'un contrôle d'accès aux données plus détaillé, par exemple avec VPD, basé sur des ID de base de données spécifiés à partir de sites distants.

Un ID de base de données identifie chaque base de données distante qui accède à un jeu de données enregistré, afin de suivre et d'auditer l'accès dans les vues V$CLOUD_LINK_ACCESS_STATS et GV$CLOUD_LINK_ACCESS_STATS de la base de données qui possède un jeu de données enregistré.

Syntaxe

DBMS_CLOUD_LINK.GET_DATABASE_ID()
  RETURN VARCHAR2;

Notes d'utilisation

Les liens cloud utilisent l'identificateur unique renvoyé par DBMS_CLOUD_LINK.GET_DATABASE_ID pour identifier les bases de données individuelles qui accèdent à un ensemble de données à distance. La base de données propriétaire du jeu de données enregistré effectue le suivi et l'audit de l'ID de base de données en tant qu'enregistrement de l'origine pour l'accès au jeu de données dans les vues V$CLOUD_LINK_ACCESS_STATS et GV$CLOUD_LINK_ACCESS_STATS.

L'identificateur DBMS_CLOUD_LINK.GET_DATABASE_ID est disponible en tant que valeur SYS_CONTEXT afin que vous puissiez obtenir par programmation ces informations sur une session distante de connexion à l'aide de SYS_CONTEXT, afin de restreindre et de contrôler davantage les données spécifiques accessibles à distance par des instances Autonomous Database individuelles avec des bases de données privées virtuelles (VPD).

Valeurs renvoyées

Identificateur unique de l'instance Autonomous Database de VARCHAR2.

GRANT_AUTHORIZATION Procédure

Cette procédure autorise une base de données spécifique à accéder à l'ensemble de données indiqué.

Syntaxe

DBMS_CLOUD_LINK.GRANT_AUTHORIZATION(
      database_id        IN   VARCHAR2,
      namespace          IN   VARCHAR2 DEFAULT,
      name               IN   VARCHAR2
);

Paramètres

Paramètre Description

database_id

Indique l'ID de base de données d'une instance Autonomous Database. Utilisez DBMS_CLOUD_LINK.GET_DATABASE_ID pour obtenir l'ID de base de données.

namespace

Spécifie l'espace de noms du jeu de données pour accorder l'autorisation d'accès à l'élément database_id indiqué.

name

Spécifie le nom du jeu de données pour accorder l'autorisation d'accès pour l'élément database_id spécifié.

Procédure d'enregistrement

La procédure enregistre une table ou une vue en tant qu'ensemble de données pour autoriser l'accès en lecture seule à distance, sous réserve des restrictions imposées par le paramètre scope.

Syntaxe

DBMS_CLOUD_LINK.REGISTER(
     schema_name      IN VARCHAR2,
     schema_object    IN VARCHAR2,
     namespace        IN VARCHAR2,
     name             IN VARCHAR2,
     description      IN CLOB,
     scope            IN CLOB,
     auth_required    IN BOOLEAN DEFAULT,
     data_set_owner   IN VARCHAR2 DEFAULT,
     offload_targets  IN CLOB DEFAULT

);

Paramètres

Paramètre Description

schema_name

Spécifie le propriétaire de la table ou de la vue indiquée avec le paramètre schema_object.

schema_object

Indique le nom d'une table ou d'une vue. Les objets valides sont :

  • Tables (y compris la portion de mémoire, externe ou hybride)
  • vues
  • Vues matérialisées
  • Tables Cloud

Les autres objets, tels que les vues analytiques ou les synonymes, ne sont pas pris en charge.

namespace

Spécifie l'espace de noms de l'ensemble de données.

Une valeur NULL indique une valeur namespace générée par le système, unique pour l'instance Autonomous Database.

name

Spécifie le nom de l'ensemble de données.

description

Spécifie le texte décrivant les données.

scope

Décrit les personnes autorisées à accéder à l'ensemble de données. La valeur est une liste séparée par des virgules composée d'un ou plusieurs des éléments suivants :

  • OCID de base de données : l'accès à l'ensemble de données est autorisé pour les instances Autonomous Database spécifiques identifiées par OCID.

  • OCID de compartiment : l'accès à l'ensemble de données est autorisé pour les bases de données des compartiments identifiés par l'OCID de compartiment.

  • OCID de location : l'accès à l'ensemble de données est autorisé pour les bases de données des locations identifiées par l'OCID de location.

  • Nom de région : l'accès à l'ensemble de données est autorisé pour les bases de données de la région identifiée par la région nommée. Par portée, l'accès aux liens cloud est limité à une seule région et n'est pas inter-région. Un destinataire d'une autre région ne peut accéder à un ensemble de données que lorsqu'un clone actualisable inter-région de la base de données qui est le propriétaire de l'ensemble de données existe dans la région de la base de données destinataire.

    Pour plus d'informations, reportez-vous à Inscription ou annulation de l'inscription d'un ensemble de données dans une autre région.

  • MY$COMPARTMENT : l'accès à l'ensemble de données est autorisé pour les bases de données du compartiment du propriétaire de l'ensemble de données.

  • MY$TENANCY : l'accès à l'ensemble de données est autorisé pour les bases de données de la location du propriétaire de l'ensemble de données.

  • MY$REGION : l'accès à l'ensemble de données est autorisé pour les bases de données de la région du propriétaire de l'ensemble de données.

  • Liste des régions : l'accès à l'ensemble de données est autorisé pour les bases de données des régions indiquées

    Par exemple :

    scope   =>  'us-phoenix-1,us-ashburn-1',

    Un destinataire d'une autre région ne peut accéder à un ensemble de données que lorsqu'un clone actualisable inter-région de la base de données qui est le propriétaire de l'ensemble de données existe dans la région de la base de données destinataire.

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

auth_required

Indique qu'une autorisation supplémentaire est requise pour que les bases de données puissent lire à partir de l'ensemble de données. Les cas suivants sont possibles :

  • Les bases de données qui se trouvent dans l'élément SCOPE indiqué et qui ont été autorisées avec DBMS_CLOUD_LINK.GRANT_AUTHORIZATION peuvent visualiser les lignes de l'ensemble de données.

  • Les bases de données comprises dans la valeur SCOPE indiquée mais qui n'ont pas été autorisées avec DBMS_CLOUD_LINK.GRANT_AUTHORIZATION ne peuvent pas visualiser les lignes d'ensemble de données. Dans ce cas, les consommateurs sans autorisation voient le jeu de données comme vide.

  • Les bases de données qui ne se trouvent pas dans l'élément SCOPE indiqué voient une erreur lors de la tentative d'accès à l'ensemble de données.

data_set_owner

Spécifie le propriétaire du jeu de données. Indique à qui appartient le jeu de données ou qui est responsable de la mise à jour et de la maintenance du jeu de données. Par exemple, vous pouvez définir data_set_owner sur l'adresse électronique de la personne qui a enregistré le jeu de données.

offload_targets

Spécifie des OCID Autonomous Database de clones actualisables dans lesquels l'accès aux ensembles de données est déchargé, à partir de l'instance Autonomous Database où l'ensemble de données est inscrit.

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

  • CLOUD_LINK_DATABASE_ID est l'un des éléments suivants :

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

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

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

      Si vous indiquez ANY sans indiquer d'ID de base de données, toutes les demandes d'ensemble de données des destinataires sont déchargées vers le clone actualisable indiqué avec la valeur OFFLOAD_TARGET.

      Si vous indiquez à la fois des ID de base de données et ANY, les demandes d'ensemble de données provenant de destinataires qui ne correspondent pas à un ID de base de données sont déchargées vers le clone actualisable indiqué avec la valeur OFFLOAD_TARGET.

  • OFFLOAD_TARGET est l'OCID d'une instance Autonomous Database qui est un clone actualisable.

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 destinataire d'ensemble de données demande l'accès à un ensemble de données inscrit auprès de offload_targets avec le mot-clé ANY, toute demande d'accès est déchargée vers le clone actualisable identifié par OFFLOAD_TARGET dans le fichier JSON fourni (à l'exception des demandes comportant une entrée explicite dans le fichier 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 entrée ANY :

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

DBMS_CLOUD_LINK.REGISTER signale une erreur si l'OCID fourni en tant que valeur OFFLOAD_TARGET n'est pas l'OCID d'un clone actualisable dans la même région.

Pour plus d'informations sur l'utilisation des clones actualisables, reportez-vous à Utilisation des clones actualisables avec Autonomous Database.

Notes d'utilisation

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

  • Utilisez la procédure DBMS_CLOUD_LINK.UPDATE_REGISTRATION pour modifier les attributs d'un ensemble 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 via les liens cloud. Ce délai peut avoir un impact sur l'exactitude des données dans les vues DBA_CLOUD_LINK_REGISTRATIONS et DBA_CLOUD_LINK_ACCESS.

  • Vous pouvez inscrire 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 portée que vous définissez lors de l'inscription d'un ensemble de données est prise en compte uniquement lorsqu'elle correspond ou est plus restrictive que la valeur définie avec DBMS_CLOUD_LINK_ADMIN.GRANT_REGISTER. Par exemple, supposons que l'utilisateur ADMIN ait accordé la portée 'MY$TENANCY' avec GRANT_REGISTER et que l'utilisateur indique 'MY$REGION' lorsqu'il inscrit un ensemble de données avec DBMS_CLOUD_LINK.REGISTER. Dans ce cas, ils verraient une erreur telle que la suivante :

    ORA-20001: Share privileges are not enabled for current user or it is enabled but not for scope MY$REGION
  • Certaines vérifications de validité hiérarchique pour l'enregistrement ne peuvent pas avoir lieu au moment de l'enregistrement. Les inscriptions non valides ne seront visibles, repérables ou même accessibles à personne.

  • Pour utiliser DBMS_CLOUD_LINK.REGISTER, vous devez disposer du privilège d'exécution sur le package DBMS_CLOUD_LINK, en plus du privilège d'inscription 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.

  • Lorsque vous inscrivez un ensemble de données sur un clone actualisable dans une région distante, l'appel de DBMS_CLOUD_LINK.REGISTER sur le clone de 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 définie sur MY$COMPARTMENT sur l'instance Autonomous Database source, exécutez à 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 indiquez le paramètre offload_targets avec DBMS_CLOUD_LINK.REGISTER sur la source, vous devez omettre ce paramètre lors de l'inscription de l'ensemble de données sur un clone actualisable inter-région.

REVOKE_AUTHORIZATION Procédure

Cette procédure révoque l'autorisation pour une base de données spécifiée d'accéder à l'ensemble de données spécifié.

Syntaxe

DBMS_CLOUD_LINK.REVOKE_AUTHORIZATION(
      database_id        IN   VARCHAR2,
      namespace          IN   VARCHAR2 DEFAULT,
      name               IN   VARCHAR2
);

Paramètres

Paramètre Description

database_id

Indique l'ID de base de données d'une instance Autonomous Database. Utilisez DBMS_CLOUD_LINK.GET_DATABASE_ID pour obtenir l'ID de base de données.

namespace

Spécifie l'espace de noms du jeu de données pour révoquer l'autorisation d'accès pour l'élément database_id indiqué.

name

Spécifie le nom du jeu de données pour révoquer l'autorisation d'accès pour l'élément database_id spécifié.

Procédure UNREGISTER

La procédure permet à un utilisateur qui a précédemment enregistré une table ou une vue avec la procédure REGISTER d'annuler l'enregistrement de la table ou de la vue afin qu'elle ne soit plus disponible pour l'accès à distance.

Syntaxe

DBMS_CLOUD_LINK.UNREGISTER(
      namespace        IN   VARCHAR2,
      name             IN   VARCHAR2
);

Paramètres

Paramètre Description

namespace

Spécifie un nom utilisateur.

name

Spécifie le nom de l'ensemble de données.

Remarque sur l'utilisation

La propagation complète de DBMS_CLOUD_LINK.UNREGISTER peut également prendre jusqu'à dix (10) minutes, après quoi les données peuvent être consultées à distance.

UPDATE_REGISTRATION Procédure

La procédure met à jour un ou plusieurs attributs pour un ensemble de données enregistré à l'aide de DBMS_CLOUD_LINK.REGISTER.

Syntaxe

DBMS_CLOUD_LINK.UPDATE_REGISTRATION(
     namespace        IN VARCHAR2,
     name             IN VARCHAR2,
     description      IN CLOB      DEFAULT,
     scope            IN CLOB      DEFAULT,
     auth_required    IN BOOLEAN   DEFAULT,
     data_set_owner   IN VARCHAR2  DEFAULT,
     offload_targets  IN CLOB      DEFAULT

);

Paramètres

Paramètre Description
namespace

Spécifie l'espace de noms du jeu de données à mettre à jour.

name

Spécifie le nom de l'ensemble de données à mettre à jour.

description

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

Si NULL est transmis pour cette valeur de paramètre, l'attribut n'est pas modifié.

Par défaut, cet attribut n'est pas mis à jour.

scope

Mettez à jour la portée avec la valeur indiquée. La portée décrit qui est autorisé à accéder au jeu de données. La valeur est une liste séparée par des virgules composée d'un ou de plusieurs des éléments suivants :

  • OCID de base de données : l'accès à l'ensemble de données est autorisé pour les instances de base de données autonome spécifiques identifiées par l'OCID.

  • OCID de compartiment : l'accès à l'ensemble de données est autorisé pour les bases de données des compartiments identifiés par l'OCID de compartiment.

  • OCID de location : l'accès à l'ensemble de données est autorisé pour les bases de données des locations identifiées par l'OCID de location.

  • Nom de région : l'accès à l'ensemble de données est autorisé pour les bases de données de la région identifiée par la région nommée. Par portée, l'accès aux liens cloud est limité à une seule région et n'est pas inter-région. Un destinataire d'une autre région ne peut accéder à un ensemble de données que lorsqu'un clone actualisable inter-région de la base de données qui est le propriétaire de l'ensemble de données existe dans la région de la base de données destinataire.

    Pour plus d'informations, reportez-vous à Inscription ou désinscription d'un ensemble de données dans une autre région.

  • MY$COMPARTMENT : l'accès à l'ensemble de données est autorisé pour les bases de données du compartiment du propriétaire de l'ensemble de données.

  • MY$TENANCY : l'accès à l'ensemble de données est autorisé pour les bases de données de la location du propriétaire de l'ensemble de données.

  • MY$REGION : l'accès à l'ensemble de données est autorisé pour les bases de données de la région du propriétaire de l'ensemble de données.

  • Liste des régions : l'accès à l'ensemble de données est autorisé pour les bases de données dans les régions indiquées

    Exemples :

    scope   =>  'us-phoenix-1,us-ashburn-1',

    Un destinataire d'une autre région ne peut accéder à un ensemble de données que lorsqu'un clone actualisable inter-région de la base de données qui est le propriétaire de l'ensemble de données existe dans la région de la base de données destinataire.

Les valeurs de portée MY$REGION, MY$TENANCY et MY$COMPARTMENT sont des variables qui servent de macros pratiques et qui sont résolues en OCID.

Si NULL est transmis pour cette valeur de paramètre, l'attribut n'est pas modifié.

Par défaut, cet attribut n'est pas mis à jour.

auth_required

Indique qu'une autorisation supplémentaire est requise pour que les bases de données puissent lire à partir de l'ensemble de données. Les cas suivants sont possibles :

  • Les bases de données qui se trouvent dans l'élément SCOPE indiqué et qui ont été autorisées avec DBMS_CLOUD_LINK.GRANT_AUTHORIZATION peuvent visualiser les lignes de l'ensemble de données.

  • Les bases de données comprises dans la valeur SCOPE indiquée mais qui n'ont pas été autorisées avec DBMS_CLOUD_LINK.GRANT_AUTHORIZATION ne peuvent pas visualiser les lignes d'ensemble de données. Dans ce cas, les consommateurs sans autorisation voient le jeu de données comme vide.

  • Les bases de données qui ne se trouvent pas dans l'élément SCOPE indiqué voient une erreur lors de la tentative d'accès à l'ensemble de données.

Si NULL est transmis pour cette valeur de paramètre, l'attribut n'est pas modifié.

Par défaut, cet attribut n'est pas mis à jour.

data_set_owner

Spécifie le propriétaire de l'ensemble de données. Indique à qui appartient le jeu de données ou qui est responsable de sa mise à jour et de sa maintenance. Par exemple, vous pouvez définir data_set_owner sur l'adresse électronique de la personne qui a inscrit l'ensemble de données.

Si NULL est transmis pour cette valeur de paramètre, l'attribut n'est pas modifié.

Par défaut, cet attribut n'est pas mis à jour.

offload_targets

Spécifie des OCID Autonomous Database de clones actualisables dans lesquels l'accès aux ensembles de données est déchargé, à partir de l'instance Autonomous Database où l'ensemble de données est inscrit.

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

  • CLOUD_LINK_DATABASE_ID est l'une des valeurs suivantes :

    • ID de base de données : indique un ID de base de données pour le destinataire de l'ensemble de données dont la demande est déchargée vers le clone actualisable correspondant indiqué avec la valeur OFFLOAD_TARGET.

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

    • ANY : indique que la demande d'un destinataire d'ensemble de données est déchargée vers la cible de déchargement correspondante. La demande de jeu de données d'un destinataire est acheminée vers la cible de déchargement correspondante.

      Si vous indiquez ANY sans indiquer d'ID de base de données, toutes les demandes d'ensemble de données des destinataires sont déchargées vers le clone actualisable indiqué avec la valeur OFFLOAD_TARGET.

      Si vous indiquez à la fois les ID de base de données et ANY, les demandes d'ensemble de données des destinataires qui ne correspondent à aucun ID de base de données sont déchargées vers le clone actualisable indiqué avec la valeur OFFLOAD_TARGET.

  • OFFLOAD_TARGET est l'OCID d'une instance Autonomous Database qui est un clone actualisable.

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 destinataire d'ensemble de données demande l'accès à un ensemble de données que vous inscrivez auprès de offload_targets avec le mot-clé ANY, toute demande d'accès est déchargée vers le clone actualisable identifié par OFFLOAD_TARGET dans le fichier JSON fourni (sauf les demandes qui ont une entrée explicite dans le fichier 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 entrée ANY :

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

DBMS_CLOUD_LINK.REGISTER signale une erreur si l'OCID fourni en tant que valeur OFFLOAD_TARGET n'est pas l'OCID d'un clone actualisable dans la même région.

Pour plus d'informations sur l'utilisation de clones actualisables, reportez-vous à Utilisation de clones actualisables avec Autonomous Database.

Si NULL est transmis pour cette valeur de paramètre, l'attribut n'est pas modifié.

Par défaut, cet attribut n'est pas mis à jour.

Notes d'utilisation

  • Les attributs schema_name et schema_object d'un ensemble de données ne peuvent pas être mis à jour.

  • Après avoir mis à jour l'inscription d'un objet, les utilisateurs peuvent avoir besoin d'attendre jusqu'à dix (10) minutes pour accéder à l'objet à l'aide des attributs mis à jour avec les liens cloud.

  • Vous pouvez mettre à jour l'inscription d'une table ou d'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 portée que vous définissez lors de la mise à jour de l'inscription d'un ensemble de données est prise en compte uniquement lorsqu'elle correspond ou est plus restrictive que la valeur définie avec DBMS_CLOUD_LINK_ADMIN.GRANT_REGISTER. Par exemple, supposons que l'utilisateur ADMIN ait accordé la portée 'MY$TENANCY' avec GRANT_REGISTER et que l'utilisateur indique 'MY$REGION' lorsqu'il met à jour l'inscription de l'ensemble de données avec DBMS_CLOUD_LINK.UPDATE_REGISTRATION. Dans ce cas, ils verraient une erreur telle que la suivante :

    ORA-20001: Share privileges are not enabled for current user or it is enabled but not for scope MY$REGION
  • Certaines vérifications de validité hiérarchique pour une inscription mise à jour ne peuvent pas avoir lieu lorsqu'elle est mise à jour. Les inscriptions non valides ne seront visibles, détectables ou même accessibles à personne.

  • L'utilisateur qui a inscrit un ensemble de données peut mettre à jour ses attributs avec DBMS_CLOUD_LINK.UPDATE_REGISTRATION. En outre, vous devez disposer du privilège d'exécution sur le package DBMS_CLOUD_LINK et du privilège d'inscription 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.

  • Lorsque vous mettez à jour l'inscription d'un ensemble de données sur un clone actualisable dans une région distante, l'appel de DBMS_CLOUD_LINK.UPDATE_REGISTRATION sur le clone de 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.UPDATE_REGISTRATION avec la portée définie sur MY$COMPARTMENT sur l'instance Autonomous Database source, exécutez à 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 indiquez le paramètre offload_targets avec DBMS_CLOUD_LINK.REGISTER sur la source, vous devez omettre ce paramètre lors de l'inscription de l'ensemble de données sur un clone actualisable inter-région.