如何从异常队列中取消消息排队?
我在谷歌上搜索,但没有得到任何简短的想法。
首先,您必须启动异常队列:
EXECUTE DBMS_AQADM.START_QUEUE('OWNER.your_ex_q', true, true);
然后,您可以运行以下指令来取消排队,传递MSG_ID:
DECLARE
dequeue_options dbms_aq.dequeue_options_t;
message_properties dbms_aq.message_properties_t;
message_handle RAW(16);
message aq.message_typ;
BEGIN
DBMS_AQ.DEQUEUE(queue_name => 'msg_queue',
dequeue_options => dequeue_options,
message_properties => message_properties,
payload => message,
msgid => message_handle);
COMMIT;
END;
如果这是关于Oracle Advanced Queueing(我不知道(,Google知道Oracle说了以下内容:
如何从异常队列中取消排队?
多使用者队列的异常队列也必须是 多使用者队列。
多使用者队列中的过期消息不能由 邮件的预期收件人。但是,它们可以在 删除模式一次(仅一次(,在取消排队中使用 NULL 使用者名称 选项。还可以通过以下方式将消息从异常队列中取消排队 指定消息 ID。
如果 多使用者异常队列是在没有 兼容参数或兼容参数设置为"8.0">
这是你要找的吗?