in this moment the notification works on our sun instances.
the solution looks crazy.
We compare everyting on winXP and sun/solaris servers oracle's settings and the diference was in table space of created ques. Excuse my english please. we drop old ques, change default table spaces for users to system table space and create new ques.
single consumer and multi consumer ques with propagation to another instances works perfectly.
we turn back the changes and restore table spaces and que notifications still works.
It looks crazy, but it is true.
My test users on oracle have got dba rights and in this moment I will be removing this access rights. I hope, that never bad will meet me.
Can you tell me what are you thinking about this?
it looks strange to me that something like this would actually make it working!!!
Did Oracle support tell you to do this or you found out on your own?
On a side note, The DBMS_AQ.LISTEN procedure does not use any resources while it is
waiting for messages to arrive.
Even when you use the AQ callback, you will write a PL/SQL procedure which will be called
automatically by Oracle when a message arrives. In order to use the LISTEN procedure
(instead of the callback), all you would have to do is put a call to DBMS_AQ.LISTEN on top of
your pl/sql procedure. As soon as a message arrives, the procedure will wake up and start
running. While it is waiting for message, no resources are being wasted.
But the fact remains, that AQ callback is a much better and cleaner solution for notification.
Now that is working for you, you may not need to look at DBMS_AQ.LISTEN (but i thought that
I would mention it anyway, for informational purposes).
I understand to lister features very well. I am using it, but for back waiting for answer in anothers ques. It work very well.
So,the notifications still runs wery well. No changes we did, only the table spaces. I thing so, taht it is very crazy. This solutions we did by our own. No support was needed.
So, have nice weekend,
Thank you Kamal Kisore.
I was able to resolve my problem with the example you provided.
While registering I was using DBMS_AQ.*NAMESPACE_ANONYMOUS* instead of DBMS_AQ.*NAMESPACE_AQ*.
select * from USER_SUBSCR_REGISTRATIONS showed me the namespace.