oracle fetch time,ORA-25228: timeout or end-of-fetch

这篇博客展示了如何在Oracle数据库中配置Advanced Queuing (AQ)。内容包括创建队列表、队列,启动队列,添加订阅者,设置消息源和目的地之间的消息传播,以及消息的入队和出队操作。在过程中,博主遇到了ORA-25228错误,可能是因为消息获取超时。
摘要由CSDN通过智能技术生成

hi

can anybody solve my problem, plz

my script:

1-destination script:

create type mytype as object (n number);

/

Begin

dbms_aqadm.create_queue_table('queue_table','mytype',multiple_consumers => true);

End;

/

begin

dbms_aqadm.create_queue('queue2','queue_table');

end;

/

begin

dbms_aqadm.start_queue('queue2');

end;

/

begin

dbms_aqadm.add_subscriber(queue_name => 'queue2',

subscriber => sys.aq$_agent('SUBS2',null,null));

end;

/

3-source script:

Begin

dbms_aqadm.create_queue_table('queue_table_source','mytype',multiple_consumers => true);

End;

/

begin

dbms_aqadm.create_queue('queue1','queue_table_source');

end;

/

begin

dbms_aqadm.start_queue('queue1');

end;

/

begin

dbms_aqadm.add_subscriber(queue_name => 'queue1',

subscriber =>

sys.aq$_agent('SUBS1','[email protected]_to_slsp',null), queue_to_queue => true);

end;

/

begin

dbms_aqadm.schedule_propagation(queue_name => 'queue1',

destination => 'symadm_to_slsp'

,start_time => sysdate

,duration => 10

,next_time => 'sysdate'

,latency => 25

,destination_queue => 'symadm.queue2');

end;

/

declare

rc binary_integer;

nq_opt dbms_aq.enqueue_options_t;

nq_pro dbms_aq.message_properties_t;

datas mytype;

msgid raw(16);

begin

nq_opt.visibility := dbms_aq.immediate;

nq_pro.expiration := dbms_aq.never;

datas := mytype(200);

dbms_aq.enqueue('queue1',nq_opt,nq_pro,datas,msgid);

end;

/

4- deque script in destination:

declare

dq_opt dbms_aq.dequeue_options_t;

dq_prop dbms_aq.message_properties_t;

datas mytype;

msg_id raw(16);

begin

dq_opt.consumer_name := 'SUBS2';

dq_opt.dequeue_mode := dbms_aq.browse;

dq_opt.navigation := dbms_aq.first_message;

dq_opt.wait := dbms_aq.no_wait;

dbms_aq.dequeue(queue_name => 'QUEUE2'

,dequeue_options => dq_opt

,message_properties => dq_prop

,payload => datas

,msgid => msg_id);

dbms_output.put_line('Message dequeued='||datas.n);

end;

/

error message:

ORA-25228: timeout or end-of-fetch during message dequeue from U282.QUEUE2

ORA-06512: at "SYS.DBMS_AQ", line 335

ORA-06512: at line 14

thanks for all

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值