Procedure invoked by AQ PL/SQL notification is executed as SYS not the Enqueuer (Doc ID 552771.1)

Last updated on FEBRUARY 08, 2017

Applies to:

Oracle Database - Enterprise Edition - Version 10.2.0.1 to 10.2.0.3 [Release 10.2]
Oracle Database - Enterprise Edition - Version 11.1.0.6 to 11.1.0.6 [Release 11.1]
Information in this document applies to any platform.



Symptoms

When using Advanced Queueing  PL/SQL notification the user-defined PL/SQL code which is invoked when notification is triggered is executed as SYS rather than the owner of the PL/SQL procedure.

Logging the values of

select user from dual;

SYS_CONTEXT('USERENV','SESSION_SCHEMA') current_user

from within the procedure return a value of SYS.

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms