如何在 Oracle AQ 中清除队列

2022-01-21 00:00:00 queue oracle jms oracle-aq

我是第一次测试 Oracle AQ.我已经设法在我创建的队列中创建了 2000 行测试插入.

I've been testing Oracle AQ for the first time. I have managed to create 2000 rows of test inserts into the queue I created.

现在,我想清除这些.在自学时,我将到期时间设置为一个月.我不能等那么久.而且我认为我不应该将它们从队列表中删除.

Now, I'd like to clear those out. As I was teaching myself, I set the expiry time to be a month. I can't wait that long. And I don't think I should just delete them from the queue table.

最好的方法是什么?

推荐答案

您可以使用 DBMS_aqadm.purge_queue_table 过程.

解决方案

SQL 看起来像这样:

The SQL looks something like this :

-- purge queue
DECLARE
 po_t dbms_aqadm.aq$_purge_options_t;
BEGIN
  dbms_aqadm.purge_queue_table('MY_QUEUE_TABLE', NULL, po_t);
END;

相关文章