I am wondering what the fields on the oracle table GV$PERSISTENT_QUEUES
really mean.
The Documentation:
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
My Questions:
- How can the number of dequeued messages be larger than the number of enqueued messages?
- If messages with a certain delay get added to the queue, do they get counted at
ENQUEUED_MSGS
andENQUEUED_DELAY_MSGS
? - If a message with a certain delay gets delivered after the delay, will it get counted at
DEQUEUED_MSGS
andMSGS_MADE_READY
?- If so, how can
MSGS_MADE_READY
be larger thanENQUEUED_DELAY_MSGS
?
- If so, how can
- What do the fields
ENQUEUED_EXPIRY_MSGS
andMSGS_MADE_EXPIRED
mean? - What's the difference between
ENQUEUED_MSGS
andENQUEUE_TRANSACTIONS
, same with dequeueing?
Thank you in advance for help!