ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ORA-25307 ENQUEUE RATE TOO HIGH. ENABLE FLOW CONTROL

ORA-25307 ENQUEUE RATE TOO HIGH. ENABLE FLOW CONTROL

原创 Linux操作系统 作者:zhouwf0726 时间:2019-05-25 16:42:06 0 删除 编辑

REFERENCE

STREAMS PROPAGATION ERROR: ORA-25307 ENQUEUE RATE TOO HIGH. ENABLE FLOW CONTROL

Applies to



10.2

Contents


PROBLEM

ORA-25307 "Enqueue rate too high. Enable flow control"

EXPLANATION

Flow control in 10g is automatically invoked by default.

DBA_QUEUE_SCHEDULES will display this informational message when the automatic flow control (10g feature of Streams) has been invoked.

This warning message typically occurs when the target site is unable to keep up with the rate of messages flowing from the source site. Although, this is a warning message, it is also a possible indication of another problem. Other than checking that the apply process is running normally on the target site, no action is required by the DBA. Propagation and the capture process will be resumed automatically when the target site is able to accept more messages. In some situations, propagation may become disabled (if the number of failures is 16). In these situations, the propagation can be re-enabled manually.

You can check the propagation using:

select schema,qname,destination,schedule_disabled,failures,last_error_msg

from dba_queue_schedules;

You can reschedule the propagation using DBMS_AQADM.SCHEDULE_PROPAGATION

10.2 Flow Control Query

 

COLUMN queue_schema FORMAT A12

COLUMN queue_name FORMAT A20

SELECT

queue_schema, queue_name, unbrowsed_msgs, overspilled_msgs,

memory_usage, publisher_state

FROM V$BUFFERED_PUBLISHERS;

 

NOTE: The Flow Control query will show:

  • the queue name and owner
  • the number of messages that have been enqueued, but not browsed
  • the number of messages that have been spilled, but not browsed
  • the percentage of the streams pool that is being used (or 0 if there is no streams pool)
  • the state of the publisher. Possible values are:

    • PUBLISHING MESSAGES (normal)
    • IN FLOW CONTROL: TOO MANY UNBROWSED MESSAGES
    • IN FLOW CONTROL: OVERSPILLED MESSAGES
    • IN FLOW CONTROL: INSUFFICIENT MEMORY AND UNBROWSED MESSAGES

This last column will really help to determine why flow control is being enabled for a system and what can be done to resolve the matter.

If the state is IN FLOW CONTROL: TOO MANY UNBROWSED MESSAGES, then you can run the following query to determine which subscriber is not dequeuing messages from the queue:

SELECT subscriber_name, cnum_msgs, total_dequeued_msg, total_spilled_msg

FROM V$BUFFERED_SUBSCRIBERS;

A comparison of the total number of messages enqueued for the subscriber

(CNUM_MSG) and the number of messages dequeued by that subscriber

(TOTAL_DEQUEUED_MSG) should indicate which subscriber has fallen behind.

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/756652/viewspace-242480/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: STREAMS MONITORING
下一篇: logon触发器for dba
请登录后发表评论 登录
全部评论

注册时间:2006-02-22

  • 博文量
    458
  • 访问量
    416660