When using advanced queues and pl*sql notification, I use the dbms_aq.register procedure to specify what routine I'd like to call.
That all works and I have no problems.
However, when run, the procedure I specify runs as the SYS user. Is there are way to change the user that is used to run the routine? I'd like one of my own database users (rather than SYS) to run it.
The database is a 220.127.116.11.6
Granting execute on dbms_aq to the user I want is easily done but how I do specify that is the user that will pick up and process the items in the queue? SYS seems to be a hardcoded default.
Sorry I missed this reply...I found a bug which was fixed in earlier versions than that in use here which should have addressed this:
Procedure invoked by AQ PL/SQL notification is executed as SYS not the Enqueuer (Doc ID 552771.1)
Was this database created newly or upgraded from a previous version?
Just out of interest which user did you perform the registration as?