Utilisation de la messagerie persistante avec les messages stockés dans la banque d'objets cloud
Le package DBMS_PIPE dispose de fonctionnalités étendues sur Autonomous AI Database pour prendre en charge la messagerie persistante, où les messages sont stockés dans la banque d'objets cloud.
A propos de la messagerie persistante avec DBMS_PIPE
DBMS_PIPE permet à des sessions de base de données de communiquer dans la même région ou entre régions avec des messages stockés dans la banque d'objets cloud.
Messages persistants dans DBMS_PIPE :
-
Vous permet d'envoyer et de récupérer des messages très volumineux.
-
Prise en charge de l'envoi d'un grand nombre de messages de canalisation.
-
Prise en charge de l'envoi et de la réception de messages au sein d'une même base de données, sur plusieurs bases de données et dans différentes bases de données de différentes régions.
-
Prise en charge de plusieurs canaux à l'aide du même URI d'emplacement de banque d'objets cloud.
Les canaux de messagerie persistants peuvent être créés dans n'importe quel type DBMS_PIPE pris en charge :
- Tuyau implicite : créé automatiquement lorsqu'un message est envoyé avec un nom de pipeline inconnu à l'aide de la fonction
DBMS_PIPE.SEND_MESSAGE. - Tuyau explicite : créé à l'aide de la fonction
DBMS_PIPE.CREATE_PIPEavec un nom de pipeline indiqué par l'utilisateur. - Tuyau public : accessible par tout utilisateur disposant du droit d'accès
EXECUTEsur le packageDBMS_PIPE. - Tuyau privé : accessible par les sessions avec le même utilisateur que le créateur de canal.
Remarques :
Oracle recommande de créer un canal explicite avant d'envoyer ou de recevoir des messages avec des messages persistants. La création d'un pipeline explicite avecDBMS_PIPE.CREATE_PIPE garantit que le pipeline est créé avec les droits d'accès souhaités, publics ou privés (en définissant le paramètre private).
Voici le workflow général pour DBMS_PIPE avec messagerie persistante :
Créer un canal persistant explicite et envoyer un message
Décrit les étapes de création d'un pipeline persistant avec un nom de pipeline spécifié (Tuyau explicite).
Extraire un message persistant sur la même base de données
Décrit les étapes permettant d'extraire un message persistant à partir d'un canal explicite sur la même instance de base de données AI autonome (instance où le message a été envoyé).
Sur une instance de base de données AI autonome, vous pouvez recevoir des messages envoyés à un canal à partir d'une autre session. Les procédures DBMS_PIPE sont des procédures de droits de l'appelant et s'exécutent en tant qu'utilisateur appelé en cours.
Les canaux privés appartiennent à l'utilisateur actuel qui crée le canal. Les canaux privés sont accessibles uniquement par l'utilisateur qui a créé le canal. Cela s'applique aux canaux utilisant des messages en mémoire et aux canaux utilisant des messages persistants avec des messages stockés dans le stockage d'objet cloud.
Les canaux publics sont accessibles par toute session de base de données disposant du privilège d'exécution sur DBMS_PIPE. Cela s'applique aux canaux utilisant des messages en mémoire et aux canaux utilisant des messages persistants avec des messages stockés dans le stockage d'objet cloud.
Pour plus d'informations, reportez-vous à Procédure SET_CREDENTIAL_NAME et à Fonction GET_LOCATION_URI.
Pour plus d'informations, reportez-vous à Fonction RECEIVE_MESSAGE.
Extraire un message persistant en créant un canal sur une autre base de données
Décrit les étapes permettant d'extraire un message persistant stocké dans la banque d'objets cloud avec un canal explicite sur une instance de base de données AI autonome différente de l'instance qui a envoyé le message.
Supprimer un tuyau persistant
Décrit les étapes de suppression d'un canal persistant.
Les canaux persistants envoient et reçoivent des messages en les stockant dans la banque d'objets cloud. Utilisez DBMS_PIPE.REMOVE_PIPE pour enlever un canal persistant sur une instance de base de données AI autonome.