Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Advanced Queuing. Subscribing problem.

Re: Advanced Queuing. Subscribing problem.

From: Andy Hassall <andy_at_andyh.co.uk>
Date: Fri, 01 Oct 2004 19:43:57 +0100
Message-ID: <449rl092jd15thb1tbq88uqh9ujt0dl2ik@4ax.com>


On 1 Oct 2004 11:34:20 -0700, azemerov_at_inbox.ru (Alexander Zemerov) wrote:

>I have Oracle 8.1.7.4.0
>

[snip]
>-- create multiple user queue
>EXECUTE dbms_aqadm.create_queue_table ( queue_table =>
>'scott.msg_multiple', multiple_consumers => TRUE, queue_payload_type
>=> 'scott.message_type');
>EXECUTE dbms_aqadm.create_queue ( queue_name =>
>'msg_queue_multiple', queue_table => 'scott.msg_multiple');
>EXECUTE dbms_aqadm.start_queue ( queue_name => 'msg_queue_multiple');
>

[snip]
>-- try to subscribe
>DECLARE
> subscriber sys.aq$_agent;
>BEGIN
> subscriber := sys.aq$_agent('Test1','scott.my_queue',null);
> DBMS_AQADM.ADD_SUBSCRIBER(
> queue_name => 'msg_queue_multiple',
> subscriber => subscriber,
> rule => 'priority < 1'
> );
>END;
>
>and as result I have the next error message -
>ORA-24057: cannot define subscriber with rule for queue
>MSG_QUEUE_MULTIPLE ORA-06512: at "SYS.DBMS_AQADM_SYS", line 3426
>ORA-06512: at "SYS.DBMS_AQADM", line 295 ORA-06512: at line 5
>
>Explanation for this error code is -
>An ADD_SUBSCRIBER or ALTER_SUBSCRIBER procedure with a rule was issued
>on a queue for which rule based subscribers are not supported. Rule
>based subscribers currently are supported only for NORMAL (persistent)
>multi-consumer queues created using an Oracle release 8.1.0 or higher
>compatible queue table.
>
>But in my case Oracle version is higher then 8.1.0 and my queue is
>normal and multi-consumer.
>What is the problem? Anybody has an idea?

 The key is '8.1.0 or higher compatible queue table'.

http://download-west.oracle.com/docs/cd/A87860_01/doc/appdev.817/a76936/dbms_a2a.htm#1010370

 Look at the descriptions of the parameters for DBMS_AQADM.CREATE_QUEUE_TABLE. In particular, 'compatible'. The default is not what you'd intuitively expect.

-- 
Andy Hassall / <andy@andyh.co.uk> / <http://www.andyh.co.uk>
<http://www.andyhsoftware.co.uk/space> Space: disk usage analysis tool
Received on Fri Oct 01 2004 - 13:43:57 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US