Oracle高级队列-订户消息跟踪
Oracle Advanced Queuing如何跟踪订阅者为多消费者队列退出队列的消息 用户队列订阅者表跟踪每个队列的订阅者。我找不到跟踪给定队列订阅者状态的表/视图(例如订阅者退出队列的最后一条消息是什么?)。查询Oracle高级队列-订户消息跟踪,oracle,oracle-aq,Oracle,Oracle Aq,Oracle Advanced Queuing如何跟踪订阅者为多消费者队列退出队列的消息 用户队列订阅者表跟踪每个队列的订阅者。我找不到跟踪给定队列订阅者状态的表/视图(例如订阅者退出队列的最后一条消息是什么?)。查询AQ$.MSG\u状态。AQ$.MSG_状态为每个消息的每个订户都有一个条目 select queue, consumer_name, deq_txn_id, deq_time, deq_user_id, user_data, msg_state from aq$MC_QU
AQ$.MSG\u状态。AQ$.MSG_状态
为每个消息的每个订户都有一个条目
select queue, consumer_name, deq_txn_id, deq_time, deq_user_id,
user_data, msg_state
from aq$MC_QUEUE_TABLE
where queue = 'MC_QUEUE';
在示例中,我的队列表是MC\u queue\u table
,我的队列是MC\u queue
MSG_状态为:
- 准备就绪-消息已准备就绪,可以进行处理,即延迟
- 保留或处理-消息已成功处理(退出队列),但将保留在队列中,直到执行
dbms\u aqadm.create\u queue
时为队列指定的保留时间
- 等等
假设我们有两条消息(msg1、msg2)和两个订户(sub1、sub2)。sub1已经将msg1退出队列。
因此,我们将看到:
QUEUE USER_DATA MSG_STATE CONSUMER_NAME
MC_QUEUE (msg1) READY SUB2
MC_QUEUE (msg2) READY SUB2
MC_QUEUE (msg1) PROCESSED SUB1
MC_QUEUE (msg2) READY SUB1
由于保留时间
,您可能无法看到已处理的邮件。完美。正是我想要的。谢谢