Persistent, cross database and cross region pipe in Oracle Database 23ai
We know pipes in Oracle Database to be an in memory mechanism, ephemeral with loss of data when the database instance is stopped. With limitations on size of messages (4KB until 12.1, 8KB as of 12.2). And messages in pipes are available only within the database instance in which they have been sent.
In Oracle Autonomous Database 23ai, there is a new type of pipe. With messages backed by Cloud Object Storage. With messages that can be very large, that are persisted across database instance restart and that can be shared between databases, even databases in different cloud regions.
The messages published to a pipe are persistently stored in Cloud Object Store- and this allows one or more database sessions to communicate in the same region or across regions. This makes it possible to send and retrieve very large messages, send a large number of pipe messages and send and receive messages within a single database, across multiple databases and across databases in different regions.
DBMS_PIPE
uses DBMS_CLOUD
to access Cloud Object Store. Messages can be stored in any of the supported Cloud Object Stores - including Oracle Cloud Infrastructure, Amazon S3, Azure Blob Storage.