0

Good day, respective all!

I found, that for every queue , that have multiple subscribers, Oracle creates an supplementary view AQ$<queue_table_name> where it keeps a history of propagated messages. And the only smart way to purge source queue table from propagated messages, is:

  1. Find corresponding row in AQ$<queue_table_name>. Make sure that msg_state is PROCESSED for each subscriber.
  2. Purge that row from source queue table.

Please, correct me, if I wrong when thinking of it as the only smart way.

  • Maybe I posted this message sloppy. It seems that Oracle keeps messages in the table AQ$ only for messages that are currently waiting for next propagation window. – Andrew Klimov Mar 05 '21 at 02:00
  • It also becomes more clear and clear that Oracle will NEVER propagate message to recipient, explicitly specified in message_properties object for enqueue. Propagation will work only for registerd subscribers. – Andrew Klimov Mar 06 '21 at 23:01

0 Answers0