首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GV$PERSISTENT_QUEUES场

GV$PERSISTENT_QUEUES场
EN

Stack Overflow用户
提问于 2013-11-01 07:44:35
回答 1查看 190关注 0票数 0

我想知道甲骨文表GV$PERSISTENT_QUEUES上的字段真正意味着什么。

文件:

代码语言:javascript
复制
ENQUEUED_MSGS           NUMBER  Number of messages enqueued
DEQUEUED_MSGS           NUMBER  Number of messages dequeued
  Note: This column will not be incremented until all the subscribers of the message have dequeued the message and its retention time has elapsed.
...
ENQUEUED_EXPIRY_MSGS    NUMBER  Number of messages enqueued with expiry
ENQUEUED_DELAY_MSGS     NUMBER  Number of messages enqueued with delay
MSGS_MADE_EXPIRED       NUMBER  Number of messages expired by time manager
MSGS_MADE_READY         NUMBER  Number of messages made ready by time manager
...
ENQUEUE_TRANSACTIONS    NUMBER  Number of enqueue transactions
DEQUEUE_TRANSACTIONS    NUMBER  Number of dequeue transactions

Oracle文档(11.2)

我的问题:

  • 如何使脱队列消息的数量大于已排队消息的数量?
  • 如果将具有一定延迟的消息添加到队列中,它们是否在ENQUEUED_MSGSENQUEUED_DELAY_MSGS上被计数?
  • 如果一条具有一定延迟的消息在延迟后被发送,它会在DEQUEUED_MSGSMSGS_MADE_READY被计数吗?
    • 如果是这样的话,MSGS_MADE_READY怎么会比ENQUEUED_DELAY_MSGS

  • ENQUEUED_EXPIRY_MSGSMSGS_MADE_EXPIRED字段是什么意思?
  • ENQUEUED_MSGSENQUEUE_TRANSACTIONS之间的区别是什么?

提前感谢您的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-18 12:02:02

我很肯定,我已经找到了解决上述大多数问题的办法。

  • 在重新启动数据库时,DEQUEUED_MSGS可以大于ENQUEUED_MSGS。仍在队列表中的队列条目将保留在那里。在数据库重新启动后,条目将被删除并添加到已退出队列的消息的数量中,但它们不会被添加到已排队的消息的数量中。
  • 字段ENQUEUED_MSGS是在队列中排队的所有消息的总和。
  • 字段ENQUEUED_DELAY_MSGS是所有被延迟排队的消息的总和。
  • ENQUEUED_MSGS - ENQUEUED_DELAY_MSGS =所有毫不延迟地排队的消息
  • DEQUEUED_MSGS (all)和MSGS_MADE_READY (只有延迟)也是如此。

我还不知道ENQUEUE_TRANSACTIONSDEQUEUE_TRANSACTIONS是什么意思(也许DEQUEUE_TRANSATIONS描述了多用户队列中一条消息的排队数),但我不会使用这些字段。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19722686

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档