Persistentes Messaging mit Nachrichten verwenden, die im Cloud-Objektspeicher gespeichert sind
Das DBMS_PIPE-Package verfügt über erweiterte Funktionalität in Autonomous AI Database, um persistentes Messaging zu unterstützen, bei dem Nachrichten im Cloud-Objektspeicher gespeichert werden.
Informationen zum persistenten Messaging mit DBMS_PIPE
DBMS_PIPE können eine oder mehrere Datenbanksessions in derselben Region oder regionsübergreifend mit Nachrichten kommunizieren, die im Cloud-Objektspeicher gespeichert sind.
Persistente Nachrichten in DBMS_PIPE:
-
Erlauben Sie, sehr große Nachrichten zu senden und abzurufen.
-
Unterstützen Sie das Senden einer großen Anzahl von Pipe-Nachrichten.
-
Unterstützung für das Senden und Empfangen von Nachrichten in einer einzigen Datenbank, über mehrere Datenbanken und über Datenbanken in verschiedenen Regionen hinweg.
-
Unterstützen Sie mehrere Pipes mit derselben Speicherort-URI des Cloud-Objektspeichers.
Persistente Messaging Pipes können in einem der unterstützten DBMS_PIPE-Typen erstellt werden:
- Implizite Pipe: Wird automatisch erstellt, wenn eine Nachricht mit einem unbekannten Pipe-Namen mit der Funktion
DBMS_PIPE.SEND_MESSAGEgesendet wird. - Explizite Pipe: Wird mit der Funktion
DBMS_PIPE.CREATE_PIPEmit einem benutzerdefinierten Pipe-Namen erstellt. - Öffentliche Pipe: Zugriff für alle Benutzer mit der Berechtigung
EXECUTEfür das PackageDBMS_PIPE. - Private Pipe: Zugriff durch Sessions mit demselben Benutzer wie der Pipe-Ersteller.
Hinweis:
Oracle empfiehlt, eine explizite Pipe zu erstellen, bevor Sie Nachrichten mit persistentem Messaging senden oder empfangen. Durch das Erstellen einer expliziten Pipe mitDBMS_PIPE.CREATE_PIPE wird sichergestellt, dass die Pipe mit den gewünschten Zugriffsberechtigungen (öffentlich oder privat) erstellt wird (durch Festlegen des Parameters private).
Im Folgenden wird der allgemeine Workflow für DBMS_PIPE mit persistentem Messaging dargestellt:
Explizite persistente Pipe erstellen und Nachricht senden
Beschreibt die Schritte zum Erstellen einer persistenten Pipe mit einem angegebenen Pipe-Namen (Explicit Pipe).
Persistente Nachricht in derselben Datenbank abrufen
Beschreibt die Schritte zum Abrufen einer persistenten Nachricht aus einer expliziten Pipe auf derselben autonomen KI-Datenbankinstanz (der Instanz, an die die Nachricht gesendet wurde).
Auf einer autonomen KI-Datenbankinstanz können Sie Nachrichten empfangen, die von einer anderen Session an eine Pipe gesendet werden. Die DBMS_PIPE-Prozeduren sind die Rechteprozeduren des Aufrufers und werden als aktuell aufgerufener Benutzer ausgeführt.
Private Pipes gehören dem aktuellen Benutzer, der die Pipe erstellt. Auf private Pipes kann nur derselbe Benutzer zugreifen, der die Pipe erstellt hat. Dies gilt für Pipes, die In-Memory-Nachrichten verwenden, und für Pipes, die persistentes Messaging mit Nachrichten verwenden, die im Cloud-Objektspeicher gespeichert sind.
Auf öffentliche Pipes kann von jeder Datenbanksession zugegriffen werden, die über Ausführungsberechtigungen für DBMS_PIPE verfügt. Dies gilt für Pipes, die In-Memory-Nachrichten verwenden, und für Pipes, die persistentes Messaging mit Nachrichten verwenden, die im Cloud-Objektspeicher gespeichert sind.
Weitere Informationen finden Sie unter Prozedur SET_CREDENTIAL_NAME und Funktion GET_LOCATION_URI.
Weitere Informationen finden Sie unter Funktion RECEIVE_MESSAGE.
Persistente Nachrichten durch Erstellen einer Pipe in einer anderen Datenbank abrufen
Beschreibt die Schritte zum Abrufen einer persistenten Nachricht, die im Cloud-Objektspeicher mit einer expliziten Pipe auf einer autonomen KI-Datenbankinstanz gespeichert ist, die sich von der Instanz unterscheidet, von der die Nachricht gesendet wurde.
Persistente Pipe entfernen
Beschreibt die Schritte zum Entfernen einer persistenten Pipe.
Persistente Pipes senden und empfangen Nachrichten, indem sie Nachrichten im Cloud-Objektspeicher speichern. Verwenden Sie DBMS_PIPE.REMOVE_PIPE, um eine persistente Pipe in einer autonomen KI-Datenbankinstanz zu entfernen.