关于Oracle的东西,可以参考《Oracle Call Interface Programmer's Guide

 

高级队列是在 Oracle Streams 信息集成基础架构上构建的一个独特的数据库集成消息队列特性。使用高级队列,就可以如同从 Oracle 数据库中执行 SQL 操作一样执行消息队列操作。消息队列功能允许 Oracle 数据库上的应用程序通过 AQ 队列中的信息进行异步传递。与数据库的集成使消息队列的功能性、操作简单性、可靠性以及安全性都达到了前所未有的水平。它为消息队列领域提供独特的信息管理功能性,例如审计和跟踪。AQ 还拥有诸如电子信函通知和转换等有助于电子商务的其他特性。AQ 操作也可通过 HTTP 和 Email 在网络上执行。AQ 也提供消息处理网关自动对 IBM 的 MQ Series 队列进行消息发送。

 

 

Function 

Purpose 

OCIAQDeq() 

Advanced Queuing dequeue 

OCIAQDeqArray() 

Dequeues an array of messages 

OCIAQEnq() 

Advanced Queuing enqueue 

OCIAQEnqArray() 

Enqueues an array of messages 

OCIAQListen() 

Listens on one or more queues on behalf of a list of agents 

OCISubscriptionEnable()  

Enables notifications on a subscription 

OCISubscriptionPost() 

Posts to a subscription to receive notifications 

OCISubscriptionRegister() 

Registers a subscription 

OCISubscriptionUnRegister()

Unregisters a subscription 

 

 在公司的自己的体系中,AQ的作用主要是体现在MBOX消息队列的实现上。BG与其他进程通信基本上依赖于此。

存放AQ消息队列的数据库表:

BGMBOXTABLE1,BGMBOXTABLE2,WISMBOXTABLE1,WISMBOXTABLE2

 

想要创建这些AQ的表,需要用到:

dbms_aqadm.create_queue_table

dbms_aqadm.create_queue

dbms_aqadm.start_queue

dbms_aqadm.grant_queue_privilege