如何从例外队列中出列消息? 我在谷歌搜索但没有简短的想法。
答案 0 :(得分:0)
如果那是关于Oracle Advanced Queuing(我不知道),Google知道Oracle会说以下内容:
如何从异常队列中出队?
多消费者队列的异常队列也必须是a 多消费者队列。
多网络队列中的过期消息无法通过 预定的邮件收件人。但是,他们可以出局 REMOVE模式一次(仅一次)在队列中使用NULL使用者名称 选项。消息也可以从异常队列中出列 指定消息ID。
过期的消息只能通过指定消息ID来出列 在没有的队列表中创建了多消费者异常队列 兼容参数或兼容参数设置为'8.0'
这是你要找的吗?
答案 1 :(得分:0)
首先,您必须启动异常队列:
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;