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 packageDBMS_CLOUD_LINK
. - Récapitulatif des sous-programmes DBMS_CLOUD_LINK
Affiche une table avec un récapitulatif des sous-programmes inclus dans le packageDBMS_CLOUD_LINK
.
Rubrique parent : Référence de package fourni avec Autonomous Database
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
.
Rubrique parent : Package 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 |
---|---|
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 |
|
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. |
|
Renvoie un identificateur unique pour l'instance Autonomous Database. Les appels répétés vers |
|
Autorise une base de données spécifiée à accéder à l'ensemble de données indiqué. |
|
Enregistre une table ou une vue en tant qu'ensemble de données. |
|
Révoque l'autorisation d'accès à l'ensemble de données indiqué pour une base de données spécifiée. |
|
Enlève un ensemble de données inscrit. |
|
Met à jour les attributs d'un ensemble de données inscrit à l'aide de |
- 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 deDBMS_CLOUD_LINK.REGISTER
. - Procédure FIND
Cette 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
La fonction renvoie un identificateur unique pour l'instance Autonomous Database. Les appels répétés versDBMS_CLOUD_LINK.GET_DATABASE_ID
sur la même instance renvoient toujours la même valeur. - Procédure GRANT_AUTHORIZATION
Cette procédure autorise une base de données spécifique à accéder à l'ensemble de données indiqué. - Procédure REGISTER
La procédure enregistre une table ou une vue en tant qu'ensemble de données pour autoriser l'accès distant en lecture seule, sous réserve des restrictions imposées par le paramètrescope
. - Procédure REVOKE_AUTHORIZATION
Cette 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
La procédure permet à un utilisateur qui a précédemment inscrit une table ou une vue avec la procédureREGISTER
d'annuler l'inscription de la table ou de la vue afin qu'elle ne soit plus disponible pour l'accès distant. - Procédure UPDATE_REGISTRATION
La procédure met à jour les attributs d'un ensemble de données inscrit à l'aide deDBMS_CLOUD_LINK.REGISTER
.
Rubrique parent : Package DBMS_CLOUD_LINK
Fonction DESCRIBE
DBMS_CLOUD_LINK.REGISTER
.
Syntaxe
DBMS_CLOUD_LINK.DESCRIBE
(
namespace IN VARCHAR2,
name IN VARCHAR2
) return CLOB;
Paramètres
Paramètre | Description |
---|---|
|
Spécifie l'espace de noms de l'ensemble de données inscrit. |
|
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.
Rubrique parent : Récapitulatif des sous-programmes DBMS_CLOUD_LINK
Rechercher une procédure
Syntaxe
DBMS_CLOUD_LINK.FIND
(
search_string IN VARCHAR2,
search_result OUT CLOB
);
Paramètres
Paramètre | Description |
---|---|
|
Spécifie la chaîne de recherche. La casse de la chaîne de recherche n'est pas respectée. |
|
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.
Rubrique parent : Récapitulatif des sous-programmes DBMS_CLOUD_LINK
Fonction GET_DATABASE_ID
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
.
Rubrique parent : Récapitulatif des sous-programmes DBMS_CLOUD_LINK
GRANT_AUTHORIZATION Procédure
Syntaxe
DBMS_CLOUD_LINK.GRANT_AUTHORIZATION
(
database_id IN VARCHAR2,
namespace IN VARCHAR2 DEFAULT,
name IN VARCHAR2
);
Paramètres
Paramètre | Description |
---|---|
|
Indique l'ID de base de données d'une instance Autonomous Database. Utilisez |
|
Spécifie l'espace de noms du jeu de données pour accorder l'autorisation d'accès à l'élément |
|
Spécifie le nom du jeu de données pour accorder l'autorisation d'accès pour l'élément |
Rubrique parent : Récapitulatif des sous-programmes DBMS_CLOUD_LINK
Procédure d'enregistrement
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 |
---|---|
|
Spécifie le propriétaire de la table ou de la vue indiquée avec le paramètre |
schema_object |
Indique le nom d'une table ou d'une vue. Les objets valides sont :
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 |
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 :
Les valeurs de portée, |
|
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 :
|
|
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 |
|
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
Par exemple, l'exemple suivant présente un échantillon JSON avec trois paires de valeurs
Lorsqu'un destinataire d'ensemble de données demande l'accès à un ensemble de données inscrit auprès de Par exemple, l'exemple suivant présente un échantillon JSON avec une paire de valeurs
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
etDBA_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'
avecGRANT_REGISTER
et que l'utilisateur indique'MY$REGION'
lorsqu'il inscrit un ensemble de données avecDBMS_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 packageDBMS_CLOUD_LINK
, en plus du privilège d'inscription affecté àDBMS_CLOUD_LINK_ADMIN.GRANT_REGISTER
. Seuls l'utilisateur ADMIN et les schémas avecPDB_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ètreoffload_targets
.Par exemple, lorsque vous exécutez
DBMS_CLOUD_LINK.REGISTER
avec la portée définie surMY$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
avecDBMS_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.
Rubrique parent : Récapitulatif des sous-programmes DBMS_CLOUD_LINK
REVOKE_AUTHORIZATION Procédure
Syntaxe
DBMS_CLOUD_LINK.REVOKE_AUTHORIZATION
(
database_id IN VARCHAR2,
namespace IN VARCHAR2 DEFAULT,
name IN VARCHAR2
);
Paramètres
Paramètre | Description |
---|---|
|
Indique l'ID de base de données d'une instance Autonomous Database. Utilisez |
|
Spécifie l'espace de noms du jeu de données pour révoquer l'autorisation d'accès pour l'élément |
|
Spécifie le nom du jeu de données pour révoquer l'autorisation d'accès pour l'élément |
Rubrique parent : Récapitulatif des sous-programmes DBMS_CLOUD_LINK
Procédure UNREGISTER
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 |
---|---|
|
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.
Rubrique parent : Récapitulatif des sous-programmes DBMS_CLOUD_LINK
UPDATE_REGISTRATION Procédure
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 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 :
Les valeurs de portée Si Par défaut, cet attribut n'est pas mis à jour. |
|
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 :
Si Par défaut, cet attribut n'est pas mis à jour. |
|
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 Si Par défaut, cet attribut n'est pas mis à jour. |
|
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
Par exemple, l'exemple suivant présente un échantillon JSON avec trois paires de valeurs
Lorsqu'un destinataire d'ensemble de données demande l'accès à un ensemble de données que vous inscrivez auprès de Par exemple, l'exemple suivant présente un échantillon JSON avec une paire de valeurs
Pour plus d'informations sur l'utilisation de clones actualisables, reportez-vous à Utilisation de clones actualisables avec Autonomous Database. Si Par défaut, cet attribut n'est pas mis à jour. |
Notes d'utilisation
-
Les attributs
schema_name
etschema_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'
avecGRANT_REGISTER
et que l'utilisateur indique'MY$REGION'
lorsqu'il met à jour l'inscription de l'ensemble de données avecDBMS_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 packageDBMS_CLOUD_LINK
et du privilège d'inscription affecté àDBMS_CLOUD_LINK_ADMIN.GRANT_REGISTER
. Seuls l'utilisateur ADMIN et les schémas avecPDB_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ètreoffload_targets
.Par exemple, lorsque vous exécutez
DBMS_CLOUD_LINK.UPDATE_REGISTRATION
avec la portée définie surMY$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
avecDBMS_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.
Rubrique parent : Récapitulatif des sous-programmes DBMS_CLOUD_LINK