Ensemble DBMS_CLOUD_LINK
L'ensemble DBMS_CLOUD_LINK permet à un utilisateur d'enregistrer une table ou une vue en tant que jeu de données pour un accès en lecture seule avec des liens en nuage.
Aperçu de DBMS_CLOUD_LINK
Décrit l'utilisation de l'ensemble DBMS_CLOUD_LINK.
L'ensemble DBMS_CLOUD_LINK fournit la procédure REGISTER qui vous permet d'enregistrer une table ou une vue en tant que jeu de données à utiliser avec Cloud Links. Avant de pouvoir enregistrer un jeu de données, l'utilisateur ADMIN doit accorder à un utilisateur l'autorisation d'enregistrer un jeu de données à l'aide de la procédure DBMS_CLOUD_LINK_ADMIN.GRANT_REGISTER. Une fois ADMIN exécuté GRANT_REGISTER, un utilisateur peut enregistrer une table ou une vue dont il est responsable en tant que jeu de données enregistré (ou enregistrer un objet dans un autre schéma si l'utilisateur dispose du privilège READ WITH GRANT OPTION sur l'objet). Les jeux de données enregistrés fournissent un accès distant à l'objet enregistré avec des liens en nuage, 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 l'ensemble DBMS_CLOUD_LINK, en plus d'avoir précédemment exécuté DBMS_CLOUD_LINK_ADMIN.GRANT_REGISTER. 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.
Sommaire des sous-programmes DBMS_CLOUD_LINK
Affiche un tableau avec un sommaire des sous-programmes inclus dans l'ensemble DBMS_CLOUD_LINK.
| Sous-programme | Description |
|---|---|
| Fonction DESCRIBE | Cette fonction extrait la description d'un jeu de données. La description est fournie lorsqu'un jeu de données est enregistré auprès de DBMS_CLOUD_LINK.REGISTER. |
| Procédure de recherche | Extrait l'espace de noms, le nom et la description des jeux 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. |
| Fonction GET_DATABASE_ID | Retourne un identificateur unique pour l'instance de base de données d'intelligence artificielle autonome. Les appels répétés à DBMS_CLOUD_LINK.GET_DATABASE_ID sur la même instance retournent toujours la même valeur. |
| Procédure GRANT_AUTHORIZATION | Permet à une base de données spécifiée d'accéder au jeu de données spécifié. |
| Procédure d'enregistrement | Enregistre une table ou une vue en tant que jeu de données. |
| Procédure REVOKE_AUTHORIZATION | Révoque l'autorisation pour une base de données spécifiée d'accéder au jeu 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 jeu de données qui a été enregistré à l'aide de DBMS_CLOUD_LINK.REGISTER. |
Fonction DESCRIBE
Cette fonction extrait la description d'un jeu de données. La description est fournie lorsqu'un jeu de données est enregistré 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 du jeu de données enregistré. La valeur fournie pour ce paramètre est, par défaut, traitée comme non sensible à la casse et convertie en majuscules. Par exemple, testnamespace est converti en TESTNAMESPACE. Pour spécifier une valeur sensible à la casse, placez-la entre guillemets ("); par exemple, "testnamespace" est traité comme testnamespace et "TestNamespace" est traité comme TestNamespace (la casse n'est pas modifiée). |
name |
Spécifie le nom d'un jeu de données enregistré. La valeur fournie pour ce paramètre est, par défaut, traitée comme non sensible à la casse et convertie en majuscules. Par exemple, testdataset est converti en TESTDATASET. Pour spécifier une valeur sensible à la casse, placez-la entre guillemets ("); par exemple, "testdataset" est traité comme testdataset et "TestDataset" est traité comme TestDataset (la casse n'est pas modifiée). |
Note d'utilisation
Vous pouvez utiliser cette fonction sous réserve des restrictions d'accès imposées lors de l'enregistrement auprès de DBMS_CLOUD_LINK.REGISTER. Si un jeu de données n'est pas accessible à une base de données, sa description ne sera pas extraite.
Procédure de recherche
Cette procédure extrait l'espace de noms, le nom et la description des jeux 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 chaîne de recherche n'est pas sensible à la casse. |
search_result |
Document JSON qui inclut l'espace de noms, le nom et la description du jeu de données. |
Note d'utilisation
La chaîne de recherche n'est pas sensible à la casse et l'ensemble tire parti de la recherche en texte libre à l'aide d'Oracle Text.
Fonction GET_DATABASE_ID
La fonction retourne un identificateur unique pour l'instance de base de données d'intelligence artificielle autonome. Les appels répétés à DBMS_CLOUD_LINK.GET_DATABASE_ID sur la même instance retournent toujours la même valeur.
Vous pouvez appeler cette fonction sur une base de données qui accède à un jeu de données enregistré à distance pour obtenir l'ID 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 détaillé, par exemple avec VPD, en fonction d'un ID de base de données spécifié provenant de sites distants.
Un ID base de données identifie chaque base de données distante qui accède à un jeu de données enregistré, pour effectuer le suivi et la vérification de 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 en nuage utilisent l'identificateur unique retourné par DBMS_CLOUD_LINK.GET_DATABASE_ID pour identifier les bases de données individuelles qui accèdent à un jeu de données à distance. La base de données responsable du jeu de données enregistré effectue le suivi et la vérification de l'ID base de données en tant qu'enregistrement de l'origine de 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 individuelles de base de données autonome avec bases de données privées virtuelles (VPD).
Valeurs retournées
Identificateur unique de l'instance de base de données autonome avec intelligence artificielle de VARCHAR2.
GRANT_AUTHORIZATION Procédure
Cette procédure autorise une base de données spécifique à accéder au jeu de données spécifié.
Syntaxe
DBMS_CLOUD_LINK.GRANT_AUTHORIZATION(
database_id IN VARCHAR2,
namespace IN VARCHAR2 DEFAULT,
name IN VARCHAR2
);Paramètres
| Paramètre | Description |
|---|---|
database_id |
Spécifie l'ID base de données pour une instance de base de données d'intelligence artificielle autonome. Utilisez DBMS_CLOUD_LINK.GET_DATABASE_ID pour obtenir l'ID base de données. |
namespace |
Spécifie l'espace de noms du jeu de données pour accorder l'autorisation d'accès pour database_id spécifié. La valeur fournie pour ce paramètre est, par défaut, traitée comme non sensible à la casse et convertie en majuscules. Par exemple, testnamespace est converti en TESTNAMESPACE. Pour spécifier une valeur sensible à la casse, placez-la entre guillemets ("); par exemple, "testnamespace" est traité comme testnamespace et "TestNamespace" est traité comme TestNamespace (la casse n'est pas modifiée). |
name |
Spécifie le nom du jeu de données pour accorder l'autorisation d'accès pour database_id spécifié. La valeur fournie pour ce paramètre est, par défaut, traitée comme non sensible à la casse et convertie en majuscules. Par exemple, testdataset est converti en TESTDATASET. Pour spécifier une valeur sensible à la casse, placez-la entre guillemets ("); par exemple, "testdataset" est traité comme testdataset et "TestDataset" est traité comme TestDataset (la casse n'est pas modifiée). |
Procédure d'enregistrement
La procédure enregistre une table ou une vue en tant que jeu de données pour permettre 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 responsable de la table ou de la vue spécifiée avec le paramètre schema_object. |
schema_object |
Indique le nom d'une table ou d'une vue. Les objets valides sont les suivants :
Les autres objets, tels que les vues analytiques ou les synonymes, ne sont pas pris en charge. |
namespace |
Spécifie l'espace de noms du jeu de données. La valeur fournie pour ce paramètre est, par défaut, traitée comme non sensible à la casse et convertie en majuscules. Par exemple, Une valeur |
name |
Spécifie le nom du jeu de données. La valeur fournie pour ce paramètre est, par défaut, traitée comme non sensible à la casse et convertie en majuscules. Par exemple, testdataset est converti en TESTDATASET. Pour spécifier une valeur sensible à la casse, placez-la entre guillemets ("); par exemple, "testdataset" est traité comme testdataset et "TestDataset" est traité comme TestDataset (la casse n'est pas modifiée). |
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 comprenant un ou plusieurs des éléments suivants :
Les valeurs de portée, |
auth_required |
Indique qu'une autorisation supplémentaire est requise pour que les bases de données puissent lire à partir du jeu de données. Les cas suivants sont possibles :
|
data_set_owner |
Spécifie le responsable du jeu de données. Indique à qui appartient le jeu de données ou qui est responsable de la mise à jour et de la mise à jour du jeu de données. Par exemple, vous pouvez régler data_set_owner à l'adresse de courriel de la personne qui a enregistré le jeu de données. |
offload_targets |
Spécifie un ou plusieurs OCID de base de données d'IA autonome des clones actualisables où l'accès aux jeux de données est déchargé, à partir de la base de données d'IA autonome où le jeu de données est enregistré. La valeur
Par exemple, l'exemple suivant présente un échantillon JSON avec trois paires de valeurs Lorsqu'un consommateur de jeu de données demande l'accès à un jeu de données que vous enregistrez avec Par exemple, l'exemple suivant présente un échantillon JSON avec une paire de valeurs
Voir Utiliser des clones actualisables avec une base de données d'intelligence artificielle autonome pour plus d'informations sur l'utilisation des clones actualisables. |
Notes d'utilisation
-
Après avoir enregistré un objet, les utilisateurs peuvent avoir besoin d'attendre jusqu'à dix (10) minutes pour accéder à l'objet avec Cloud Links.
-
Utilisez la procédure
DBMS_CLOUD_LINK.UPDATE_REGISTRATIONpour modifier les attributs d'un jeu de données existant.Le temps d'attente de la mise à jour peut aller jusqu'à 10 minutes pour qu'une modification d'inscription soit propagée et accessible au moyen de Cloud Links. Ce délai peut avoir une incidence sur l'exactitude des données dans les vues
DBA_CLOUD_LINK_REGISTRATIONSetDBA_CLOUD_LINK_ACCESS. -
Vous pouvez enregistrer une table ou une vue qui réside dans le schéma d'un autre utilisateur lorsque vous disposez des privilèges
READ WITH GRANT OPTIONpour la table ou la vue. -
L'étendue que vous définissez lors de l'enregistrement d'un jeu de données n'est respectée que s'il correspond ou est plus restrictive que la valeur définie avec
DBMS_CLOUD_LINK_ADMIN.GRANT_REGISTER. Par exemple, supposons que l'administrateur a accordé l'étendue'MY$TENANCY'avecGRANT_REGISTERet que l'utilisateur spécifie'MY$REGION'lorsqu'il enregistre un jeu de données avecDBMS_CLOUD_LINK.REGISTER. Dans ce cas, ils verraient une erreur telle que :
ORA-20001: Share privileges are not enabled for current user or it is enabled but not for scope MY$REGION-
Certaines vérifications de validité hiérarchiques pour l'enregistrement ne peuvent pas avoir lieu au moment de l'enregistrement. Les inscriptions non valides ne seront pas visibles, détectables ou même accessibles à quiconque.
-
Pour utiliser
DBMS_CLOUD_LINK.REGISTER, vous devez disposer du privilège d'exécution sur l'ensembleDBMS_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_DBAdisposent de ce privilège par défaut. -
Lorsque vous enregistrez un jeu de données sur un clone actualisable dans une région distante, l'appel de
DBMS_CLOUD_LINK.REGISTERsur le clone de la région distante doit utiliser les mêmes paramètres avec les mêmes valeurs que sur la base de données source, à l'exception du paramètreoffload_targets.Par exemple, lorsque vous exécutez
DBMS_CLOUD_LINK.REGISTERavec la portée réglée àMY$COMPARTMENTsur l'instance de base de données d'intelligence artificielle autonome source, exécutez de nouveau la procédure sur le clone actualisable inter-région avec la même valeur de paramètre de portée (MY$COMPARTMENT). -
Si vous spécifiez le paramètre
offload_targetsavecDBMS_CLOUD_LINK.REGISTERsur la source, vous devez omettre ce paramètre lorsque vous enregistrez le jeu 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écifique d'accéder au jeu 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 |
Spécifie l'ID base de données pour une instance de base de données d'intelligence artificielle autonome. Utilisez DBMS_CLOUD_LINK.GET_DATABASE_ID pour obtenir l'ID 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 database_id spécifié. La valeur fournie pour ce paramètre est, par défaut, traitée comme non sensible à la casse et convertie en majuscules. Par exemple, testnamespace est converti en TESTNAMESPACE. Pour spécifier une valeur sensible à la casse, placez-la entre guillemets ("); par exemple, "testnamespace" est traité comme testnamespace et "TestNamespace" est traité comme TestNamespace (la casse n'est pas modifiée). |
name |
Spécifie le nom du jeu de données pour révoquer l'autorisation d'accès pour database_id spécifié. La valeur fournie pour ce paramètre est, par défaut, traitée comme non sensible à la casse et convertie en majuscules. Par exemple, testdataset est converti en TESTDATASET. Pour spécifier une valeur sensible à la casse, placez-la entre guillemets ("); par exemple, "testdataset" est traité comme testdataset et "TestDataset" est traité comme TestDataset (la casse n'est pas modifiée). |
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 distant.
Syntaxe
DBMS_CLOUD_LINK.UNREGISTER(
namespace IN VARCHAR2,
name IN VARCHAR2
);Paramètres
| Paramètre | Description |
|---|---|
namespace |
Spécifie un espace de noms. La valeur fournie pour ce paramètre est, par défaut, traitée comme non sensible à la casse et convertie en majuscules. Par exemple, testnamespace est converti en TESTNAMESPACE. Pour spécifier une valeur sensible à la casse, placez-la entre guillemets ("); par exemple, "testnamespace" est traité comme testnamespace et "TestNamespace" est traité comme TestNamespace (la casse n'est pas modifiée). |
name |
Spécifie le nom du jeu de données. La valeur fournie pour ce paramètre est, par défaut, traitée comme non sensible à la casse et convertie en majuscules. Par exemple, testdataset est converti en TESTDATASET. Pour spécifier une valeur sensible à la casse, placez-la entre guillemets ("); par exemple, "testdataset" est traité comme testdataset et "TestDataset" est traité comme TestDataset (la casse n'est pas modifiée). |
Note d'utilisation
DBMS_CLOUD_LINK.UNREGISTER peut également prendre jusqu'à dix (10) minutes pour se propager complètement, après quoi les données sont plus accessibles à distance.
UPDATE_REGISTRATION Procédure
La procédure met à jour un ou plusieurs des attributs d'un jeu 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. La valeur fournie pour ce paramètre est, par défaut, traitée comme non sensible à la casse et convertie en majuscules. Par exemple, testnamespace est converti en TESTNAMESPACE. Pour spécifier une valeur sensible à la casse, placez-la entre guillemets ("); par exemple, "testnamespace" est traité comme testnamespace et "TestNamespace" est traité comme TestNamespace (la casse n'est pas modifiée). |
name |
Spécifie le nom du jeu de données à mettre à jour. La valeur fournie pour ce paramètre est, par défaut, traitée comme non sensible à la casse et convertie en majuscules. Par exemple, testdataset est converti en TESTDATASET. Pour spécifier une valeur sensible à la casse, placez-la entre guillemets ("); par exemple, "testdataset" est traité comme testdataset et "TestDataset" est traité comme TestDataset (la casse n'est pas modifiée). |
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 l'étendue avec la valeur spécifiée. La portée décrit les personnes autorisées à accéder au jeu de données. La valeur est une liste séparée par des virgules comprenant un ou plusieurs des éléments suivants :
Les valeurs de portée, Si 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 du jeu de données. Les cas suivants sont possibles :
Si Par défaut, cet attribut n'est pas mis à jour. |
data_set_owner |
Spécifie le responsable du jeu de données. Indique à qui appartient le jeu de données ou qui est responsable de la mise à jour et de la mise à jour du jeu de données. Par exemple, vous pouvez régler Si Par défaut, cet attribut n'est pas mis à jour. |
offload_targets |
Spécifie un ou plusieurs OCID de base de données d'IA autonome des clones actualisables où l'accès aux jeux de données est déchargé, à partir de la base de données d'IA autonome où le jeu de données est enregistré. La valeur
Par exemple, l'exemple suivant présente un échantillon JSON avec trois paires de valeurs Lorsqu'un consommateur de jeu de données demande l'accès à un jeu de données que vous enregistrez avec Par exemple, l'exemple suivant présente un échantillon JSON avec une paire de valeurs
Voir Utiliser des clones actualisables avec une base de données d'intelligence artificielle autonome pour plus d'informations sur l'utilisation des clones actualisables. Si Par défaut, cet attribut n'est pas mis à jour. |
Notes d'utilisation
-
Les attributs
schema_nameetschema_objectd'un jeu de données ne peuvent pas être mis à jour. -
Après avoir mis à jour l'enregistrement 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'enregistrement 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 OPTIONpour la table ou la vue. -
La portée que vous définissez lorsque vous mettez à jour l'enregistrement d'un jeu de données n'est respectée que lorsqu'elle correspond ou est plus restrictive que la valeur définie avec
DBMS_CLOUD_LINK_ADMIN.GRANT_REGISTER. Par exemple, supposons que l'administrateur a accordé l'étendue'MY$TENANCY'avecGRANT_REGISTERet que l'utilisateur spécifie'MY$REGION'lorsqu'il met à jour l'enregistrement du jeu de données avecDBMS_CLOUD_LINK.UPDATE_REGISTRATION. Dans ce cas, ils verraient une erreur telle que :
ORA-20001: Share privileges are not enabled for current user or it is enabled but not for scope MY$REGION-
Certaines vérifications de validité hiérarchiques d'un enregistrement mis à jour ne peuvent pas avoir lieu au moment de la mise à jour de l'enregistrement. Les inscriptions non valides ne seront pas visibles, détectables ou même accessibles à quiconque.
-
L'utilisateur qui a enregistré un jeu 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 l'ensembleDBMS_CLOUD_LINKet du privilège d'enregistrement affecté àDBMS_CLOUD_LINK_ADMIN.GRANT_REGISTER. Seuls l'utilisateur ADMIN et les schémas avecPDB_DBAdisposent de ce privilège par défaut. -
Lorsque vous mettez à jour l'enregistrement d'un jeu de données sur un clone actualisable dans une région distante, l'appel de
DBMS_CLOUD_LINK.UPDATE_REGISTRATIONsur le clone de la région distante doit utiliser les mêmes paramètres avec les mêmes valeurs que sur la base de données source, à l'exception du paramètreoffload_targets.Par exemple, lorsque vous exécutez
DBMS_CLOUD_LINK.UPDATE_REGISTRATIONavec la portée réglée àMY$COMPARTMENTsur l'instance de base de données d'intelligence artificielle autonome source, exécutez de nouveau la procédure sur le clone actualisable inter-région avec la même valeur de paramètre de portée (MY$COMPARTMENT). -
Si vous spécifiez le paramètre
offload_targetsavecDBMS_CLOUD_LINK.REGISTERsur la source, vous devez omettre ce paramètre lorsque vous enregistrez le jeu de données sur un clone actualisable inter-région.