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 packageDBMS_CLOUD_LINK
. - Récapitulatif des sous-programmes DBMS_CLOUD_LINK
Affiche un tableau contenant un récapitulatif des sous-programmes inclus dans le packageDBMS_CLOUD_LINK
.
Rubrique parent : Référence de package fourni avec Autonomous Database
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
.
Rubrique parent : Package 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 |
---|---|
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 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. |
|
Renvoie un identificateur unique pour l'instance Autonomous Database. Les appels répétés vers |
|
Autorise une base de données spécifique à 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 pour une base de données spécifiée d'accéder à l'ensemble de données spécifié. |
|
Supprime un jeu de données enregistré. |
|
Met à jour les attributs d'un ensemble de données inscrit à l'aide de |
- Fonction DESCRIBE
Cette fonction extrait la description d'un jeu 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 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
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. - GRANT_AUTHORIZATION Procédure
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 permettre un accès distant en lecture seule, sous réserve des restrictions imposées par le paramètrescope
. - REVOKE_AUTHORIZATION Procédure
Cette procédure révoque l'autorisation d'accès à l'ensemble de données indiqué pour une base de données donnée. - Procédure UNREGISTER
La procédure permet à un utilisateur qui a précédemment enregistré une table ou une vue avec la procédureREGISTER
de désinscrire la table ou la vue afin qu'elle ne soit plus disponible pour un accès distant. - Procédure UPDATE_REGISTRATION
La procédure met à jour un ou plusieurs attributs pour un ensemble de données enregistré à 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 |
---|---|
|
Indique l'espace de noms de l'ensemble de données enregistré. |
|
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.
Rubrique parent : Récapitulatif des sous-programmes DBMS_CLOUD_LINK
Procédure FIND
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. Le respect maj/min ne distingue pas les majuscules des minuscules. |
|
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 à 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
.
Rubrique parent : Récapitulatif des sous-programmes DBMS_CLOUD_LINK
Procédure GRANT_AUTHORIZATION
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 de jeu de données permettant d'accorder l'autorisation d'accès pour le fichier |
|
Spécifie le nom du jeu de données pour accorder l'autorisation d'accès pour le fichier |
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 |
---|---|
|
Indique le propriétaire de la table ou vue indiquée avec le paramètre |
schema_object |
Spécifie 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 |
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 :
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 :
|
|
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 |
|
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
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 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
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 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'
avecGRANT_REGISTER
et que l'utilisateur indique'MY$REGION'
lorsqu'il inscrit un ensemble de données avecDBMS_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 packageDBMS_CLOUD_LINK
, en plus du privilège d'enregistrement 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 une portée définie surMY$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
avecDBMS_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.
Rubrique parent : Récapitulatif des sous-programmes DBMS_CLOUD_LINK
Procédure REVOKE_AUTHORIZATION
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 |
|
Indique l'espace de noms de jeu de données à révoquer l'autorisation d'accès pour le fichier |
|
Indique le nom du jeu de données à révoquer l'autorisation d'accès pour le fichier |
Rubrique parent : Récapitulatif des sous-programmes DBMS_CLOUD_LINK
Procédure UNREGISTER
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 |
---|---|
|
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.
Rubrique parent : Récapitulatif des sous-programmes DBMS_CLOUD_LINK
Procédure UPDATE_REGISTRATION
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 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 :
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. |
|
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 Si Par défaut, cet attribut n'est pas mis à jour. |
|
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
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 des 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. -
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'
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, 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 packageDBMS_CLOUD_LINK
et du privilège d'enregistrement 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 une portée définie surMY$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
avecDBMS_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.
Rubrique parent : Récapitulatif des sous-programmes DBMS_CLOUD_LINK