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 Cloud Links.

DBMS_CLOUD_LINK Présentation

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 enregistrer un ensemble de données, l'utilisateur ADMIN doit lui accorder le droit d'enregistrer un ensemble de données à l'aide de la procédure DBMS_CLOUD_LINK_ADMIN.GRANT_REGISTER. Une fois que l'administrateur exécute GRANT_REGISTER, un utilisateur peut inscrire une table ou une vue qu'il possède 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 enregistrés fournissent un accès distant à l'objet enregistré avec Cloud Links, 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 précédemment. 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 un tableau présentant 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.

Procédure FIND

Extrait l'espace de noms, le nom et la description des ensembles 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.

Procédure GRANT_AUTHORIZATION

Autorise une base de données spécifique à 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.

Procédure REVOKE_AUTHORIZATION

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

Procédure UNREGISTER

Supprime un jeu de données enregistré.

Procédure UPDATE_REGISTRATION

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

Indique l'espace de noms de l'ensemble de données enregistré.

name

Spécifie le nom d'un jeu de données enregistré.

Remarque sur l'utilisation

Vous pouvez utiliser cette fonction sous réserve des restrictions d'accès imposées au moment 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.

Procédure FIND

Cette procédure extrait l'espace de noms, le nom et la description des ensembles 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.

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. Le respect maj/min ne distingue pas les majuscules des minuscules.

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 à un ensemble de données enregistré à distance pour obtenir l'ID de base de données. Cela vous permet de fournir la base de données iD afin qu'un propriétaire de jeu de données puisse tirer parti d'un contrôle d'accès aux données plus précis, par exemple avec VPD, en fonction d'un ID de base de données spécifié à 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 sous forme de valeur SYS_CONTEXT afin que vous puissiez obtenir ces informations par programmation 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.

Procédure GRANT_AUTHORIZATION

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 de jeu de données permettant d'accorder l'autorisation d'accès pour le fichier database_id indiqué.

name

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

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

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

schema_object

Spécifie 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, propre à l'instance Autonomous Database.

name

Indique le nom de l'ensemble de données.

description

Indique le texte décrivant les données.

scope

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 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 la 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 à Cloud Links est limité à une seule région et n'est pas inter-région. Un consommateur d'une autre région peut accéder à un ensemble de données uniquement 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 du consommateur.

    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 même compartiment que le 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 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 même région que le 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 consommateur d'une autre région peut accéder à un ensemble de données uniquement 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 du consommateur.

Les valeurs de portée, MY$REGION, MY$TENANCY et MY$COMPARTMENT, sont des variables qui agissent comme des 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 comprises dans l'élément SCOPE indiqué et autorisées avec l'élément DBMS_CLOUD_LINK.GRANT_AUTHORIZATION peuvent visualiser les lignes de l'ensemble de données.

  • Les bases de données comprises dans l'élément SCOPE indiqué mais qui n'ont pas été autorisées avec l'élément DBMS_CLOUD_LINK.GRANT_AUTHORIZATION ne peuvent pas visualiser les lignes de l'ensemble 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 le fichier SCOPE indiqué voient une erreur lors de la tentative d'accès à l'ensemble de données.

data_set_owner

Indique le propriétaire du jeu 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 enregistré l'ensemble de données.

offload_targets

Spécifie un ou plusieurs OCID Autonomous Database de clones actualisables où 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 une ou plusieurs paires clé-valeur 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 la demande du consommateur de l'ensemble 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 consommateurs 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 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 JSON fourni (sauf les demandes qui ont une entrée explicite 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 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 un OCID d'un clone actualisable dans la même région.

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

Notes d'utilisation

  • Une fois que vous avez inscrit un objet, les utilisateurs peuvent avoir besoin d'attendre jusqu'à dix (10) minutes pour accéder à l'objet avec Cloud Links.

  • 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 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 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 n'est prise en compte 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 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, une erreur telle que la suivante s'affiche :

    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érarchiques pour l'inscription ne peuvent pas avoir lieu au moment de l'inscription. Les inscriptions non valides ne seront pas visibles, repérables ou même accessibles à quiconque.

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

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

Procédure REVOKE_AUTHORIZATION

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

Indique l'espace de noms de jeu de données à révoquer l'autorisation d'accès pour le fichier database_id indiqué.

name

Indique le nom du jeu de données à révoquer l'autorisation d'accès pour le fichier database_id indiqué.

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 de désinscrire la table ou la vue afin qu'elle ne soit plus disponible pour un accès distant.

Syntaxe

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

Paramètres

Paramètre Description

namespace

Spécifie un nom utilisateur.

name

Indique 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 sont accessibles à distance.

Procédure UPDATE_REGISTRATION

La procédure met à jour un ou plusieurs attributs pour un ensemble de données inscrit à 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

Indique l'espace de noms de l'ensemble de données à mettre à jour.

name

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

description

Indique 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

Mettre à jour le champ d'application 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 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 la 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 à Cloud Links est limité à une seule région et n'est pas inter-région. Un consommateur d'une autre région peut accéder à un ensemble de données uniquement 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 du consommateur.

    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 même compartiment que le 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 même location que le 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 même région que le 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 consommateur d'une autre région peut accéder à un ensemble de données uniquement 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 du consommateur.

Les valeurs de portée, MY$REGION, MY$TENANCY et MY$COMPARTMENT, sont des variables qui agissent comme des macros pratiques et 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 comprises dans l'élément SCOPE indiqué et autorisées avec l'élément DBMS_CLOUD_LINK.GRANT_AUTHORIZATION peuvent visualiser les lignes de l'ensemble de données.

  • Les bases de données comprises dans l'élément SCOPE indiqué mais qui n'ont pas été autorisées avec l'élément DBMS_CLOUD_LINK.GRANT_AUTHORIZATION ne peuvent pas visualiser les lignes de l'ensemble 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 le fichier 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

Indique le propriétaire du jeu 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 enregistré 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 un ou plusieurs OCID Autonomous Database de clones actualisables où 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 une ou plusieurs paires clé-valeur 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 la demande du consommateur de l'ensemble 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 consommateurs 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 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 JSON fourni (sauf les demandes qui ont une entrée explicite 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 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 un OCID d'un clone actualisable dans la même région.

Pour plus d'informations sur l'utilisation des 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.

  • Une fois que vous avez 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 Cloud Links.

  • 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 lorsque vous mettez à jour l'inscription d'un ensemble de données n'est prise en compte 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 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, une erreur telle que la suivante s'affiche :

    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érarchiques pour une inscription mise à jour ne peuvent pas avoir lieu au moment de la mise à jour de l'inscription. Les inscriptions non valides ne seront pas visibles, repérables ou même accessibles à quiconque.

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

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