Usar Mensagens Persistentes com Mensagens Armazenadas no Cloud Object Store
O pacote DBMS_PIPE tem funcionalidade estendida no Autonomous AI Database para oferecer suporte a mensagens persistentes, nas quais as mensagens são armazenadas no Cloud Object Store.
Sobre Mensagens Persistentes com DBMS_PIPE
DBMS_PIPE permitem que uma ou mais sessões de banco de dados se comuniquem na mesma região ou entre regiões com mensagens armazenadas no Armazenamento de Objetos na Nuvem.
Mensagens persistentes em DBMS_PIPE:
-
Permite que você envie e recupere mensagens muito grandes.
-
Suporta o envio de um grande número de mensagens de pipe.
-
Dê suporte ao envio e recebimento de mensagens em um único banco de dados, em vários bancos de dados e entre bancos de dados em diferentes regiões.
-
Suporta vários pipes usando o mesmo URI de local do Armazenamento de Objetos na Nuvem.
Os pipes de mensagens persistentes podem ser criados em qualquer um dos tipos DBMS_PIPE suportados:
- Tubo Implícito: Criado automaticamente quando uma mensagem é enviada com um nome de pipe desconhecido usando a função
DBMS_PIPE.SEND_MESSAGE. - Tubo Explícito: Criado usando a função
DBMS_PIPE.CREATE_PIPEcom um nome de pipe especificado pelo usuário. - Tubo Público: Acessível por qualquer usuário com permissão
EXECUTEno pacoteDBMS_PIPE. - Pipe Privado: Acessível por sessões com o mesmo usuário que o criador do pipe.
Observação:
A Oracle recomenda criar um pipe explícito antes de enviar ou receber mensagens com mensagens persistentes. A criação de um pipe explícito comDBMS_PIPE.CREATE_PIPE garante que o pipe seja criado com as permissões de acesso desejadas, públicas ou privadas (definindo o parâmetro private).
A seguir, mostra o workflow geral de DBMS_PIPE com mensagens persistentes:
Criar um Pipe Persistente Explícito e Enviar uma Mensagem
Descreve as etapas para criar um pipe persistente com um nome de pipe especificado (Tubo Explícito).
Recuperar uma Mensagem Persistente no Mesmo Banco de Dados
Descreve as etapas para recuperar uma mensagem persistente de um pipe explícito na mesma instância do Autonomous AI Database (a instância para a qual a mensagem foi enviada).
Em uma instância do Autonomous AI Database, você pode receber mensagens enviadas a um pipe de outra sessão. Os procedimentos DBMS_PIPE são procedimentos de direitos do chamador e são executados como o usuário chamado atual.
Os pipes privados pertencem ao usuário atual que cria o pipe. Os pipes privados só podem ser acessados pelo mesmo usuário que criou o pipe. Isso se aplica a pipes que usam mensagens na memória e pipes que usam mensagens persistentes com mensagens armazenadas no Cloud Object Store.
Os pipes públicos podem ser acessados por qualquer sessão de banco de dados que tenha privilégio de execução em DBMS_PIPE. Isso se aplica a pipes que usam mensagens na memória e pipes que usam mensagens persistentes com mensagens armazenadas no Cloud Object Store.
Consulte Procedimento SET_CREDENTIAL_NAME e Função GET_LOCATION_URI para obter mais informações.
Consulte Função RECEIVE_MESSAGE para obter mais informações.